{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Linear time-invariant systems\n",
    "\n",
    "In signal and systems theory, a signal is a function of one or more independent variables, while a system produces a response to an input signal, **including substituting the signal into the function, changing the signal independent variables**, and outputting one or more signals. The most basic system can be described as $y[n]=T{x[n]}$.\n",
    "\n",
    "The signals are divided into.\n",
    "\n",
    "1. **Continuous time signal** and **Discrete time signal**, the difference between which is whether it is continuous in time or not. The audio signal is a continuous time signal, and after being sampled as a digital audio signal it becomes a discrete time signal.\n",
    "\n",
    "2. **Deterministic signal** and **Random signal**, the difference is whether it is random or not.\n",
    "\n",
    "3. **Periodic signals** and **Non-periodic signals**, the difference being the presence or absence of a period over the full interval. Deterministic audio signals whose frequency components change with time can be considered periodic within each frame after framing and windowing. Stationary random audio signals with distinct pitches also have **quasi-periodicity**.\n",
    "\n",
    "4. **Even signal** and **Odd signal**. Since we truncate the audio signal, the time stamp of the digital audio signal starts from $t=0$, so there is no distinction between even and odd signals.\n",
    "\n",
    "5. **Causal signals** (all zeros in the <0 part) and **Non-causal signals** (non-zero values in the <0 part). Similarly, since we truncate the audio signal, the digital audio signals are all causal.\n",
    "\n",
    "6. Classified according to **signal energy**: finite-energy signals, finite-power signals and infinite signals (both power and energy are infinite), which were introduced in section 2 when power and energy were discussed. \n",
    "\n",
    "The system is divided into: \n",
    "\n",
    "1. **Memorable systems** and **No memory systems**: whether the output of the system is past and future related.\n",
    "\n",
    "2. **Reversible** and **Non-reversible systems**: whether the output signal can be restored by the input signal.\n",
    "\n",
    "3. **Linear** and **Non-linear systems**: the linear system satisfies $T\\{ax_1[n]+bx_2[n]\\}=aT\\{x_1[n]\\}+bT\\{x_2[n]\\}$.\n",
    "\n",
    "4. **Time-invariant** and **Time-varying systems**: Time-invariant systems satisfy $y[n-n_0]=T\\{x[n-n_0]\\}$.\n",
    "\n",
    "5. **Causal** and **Non-causal systems**: the output of a causal system depends on **past or present** (not future) inputs.\n",
    "\n",
    "6. BIBO stability: If the **input signal is bounded**, the **output signal is bounded**.\n",
    "\n",
    "The properties of linear time-invariant systems allow us to analyze their response characteristics by deriving their impulse response functions. All discrete signals can be represented as a superposition of a series of impulse functions $\\delta [n]=\\begin{cases}1,&n=0\\\\0,&others\\end{cases}$: $x[n]=\\displaystyle\\sum_{k=-∞}^∞x[k]\\delta[n-k]$. We assume that $y[n]=T\\{x[n]\\}$ and $h[n]=T\\{\\delta[n]\\}$, $T$ is a linear time-invariant system, then we have $h[n-k]=T\\{\\delta[n-k]\\}$ and $y[n]=T\\{\\displaystyle\\sum_{k=-∞}^∞x[k]\\delta [n-k]\\}=\\displaystyle\\sum_{k=-∞}^∞x[k]h[n-k]$. Thus it is only necessary to know the response h of a simple impulsive function through a linear time-invariant system, and the response of a complex function x through the system can be derived by the convolution operation $x[k]*h[n]=\\displaystyle\\sum_{k=-∞}^{∞}x[k]h[n-k]$. **h can be used to describe the system linear time-invariant system. Any signal x passing through the system is the convolution of x with h**.\n",
    "\n",
    "# Linear Time Invariant (LTI) Filters\n",
    "\n",
    "The discrete-time Fourier transform has a very important property: the convolution in the time domain is equivalent to the multiplication in the frequency domain, i.e., if $y[n]=x[n]*h[n]$, then we have $Y(e^{j\\omega})=X(e^{j\\omega})H(e^{j\\omega})$. This property is the basis for the design of linear time-invariant filters.\n",
    "\n",
    "1. $|Y(e^{j\\omega})|=|X(e^{j\\omega})||H(e^{j\\omega})|$, so we can design $H(e^{j\\omega})$ such that $|H(e^{j\\omega})|$ can perform the amplitude of each frequency component of $|X(e^{j\\omega})|$ weighted so that the individual frequency components of $|Y(e^{j\\omega})|$ have the desired amplitude, and $|H(e^{j\\omega})|$ is called the **amplitude response** of the system $h$.\n",
    "\n",
    "2. $\\angle Y(e^{j\\omega})|= \\angle X(e^{j\\omega})- \\angle H(e^{j\\omega})$, so that by designing $H(e^{j\\omega})$ it is possible to make $x$ have the desired phase for each frequency component of $y$ obtained after passing through the system, and $\\angle H(e^{j\\omega})$ is called the **phase response** of the system $h$.\n",
    "\n",
    "Usually, we want the filter to have a linear phase response, or a zero phase response. The zero phase response can be obtained using a bidirectional filtering approach, where a forward convolution operation is followed by a backward convolution operation, but this causes the magnitude response to become quadratic.\n",
    "\n",
    "For digital audio signals, since the computer can only represent the results of the discrete Fourier transform of the signal $X[k]$ and $Y[k]$, we need to obtain $H[k]$ corresponding to $H(e^{j\\omega})$. For the discrete Fourier transform, there is the property $\\displaystyle y[n]=\\sum_{m=0}^{N-1}x[m]h[(n-m))_N]$ then $Y[k]=X[k]H[k]$, where $((n))_N$ means that n takes the remainder of the number of Fourier transform points N. $\\displaystyle\\sum_{m =0}^{N-1}x[m]h[((n-m))_N]$ is called **cyclic convolution**. When $N$ takes all samples, the signal can be filtered at once. Otherwise, the signal can be filtered separately by framing and performing Fourier transform at each frame, and then retrieve the signal.\n",
    "\n",
    "# Designing filters with z-transform\n",
    "\n",
    "Performing the discrete-time Fourier transform on $h[n]$ yields $H(e^{j\\omega})=\\displaystyle\\sum_{n=-∞}^{+∞}h[n]e^{-j\\omega n}$, whose convergence condition is $h[n]$ absolutely integrable. To make a similar transformation possible for any $h[n]$, multiply it by the real exponent $r^{-n}$ and then perform the discrete Fourier transform. The size of $r$ can be adjusted to ensure that $h[n]r^{-n}$ is absolutely integrable. Thus, we have $H(re^{j\\omega})=\\displaystyle\\sum_{n=-∞}^{+∞}h[n]r^{-n}e^{-j\\omega n}$ and let $z=re^{j\\omega}$, we get $H(z)=\\displaystyle\\sum_{n=-∞} ^{+∞}h[n]z^{n}$, which is the **z-transform**. Similarly, the signals $x[n]$ and $y[n]$ can be transformed into $X(z)$ and $Y(z)$ by z-transformation.\n",
    "\n",
    "The discrete-time Fourier transform transforms the signal into the frequency domain, which is univariate and determines the function value purely by the parameter $\\omega$. The z-transform, on the other hand, transforms the system and the signal into the **z-domain**, which, since $z=re^{j\\omega}$, has two variables $r$ and $\\omega$, and is therefore a plane, called the **z-plane**. The z-plane can be described using polar coordinates: $r$ is the amplitude and $\\omega$ is the angle. The Fourier transform then corresponds to the z-transform when locking $r=1$, which is a unit circle around the origin of the polar coordinates. When $\\omega$ takes different values, the corresponding $z$ rotates on the unit circle with a period of $2\\pi$, which is also consistent with our discussion of the $X(e^{j\\omega})$ property earlier in section 3.\n",
    "\n",
    "The z-transform also has similar properties to the discrete-time Fourier transform: the convolution in the time domain is equivalent to the multiplication in the z-domain, i.e., if $y[n]=x[n]*h[n]$, then we have $Y(z)=X(z)H(z)$.\n",
    "\n",
    "A rational z-transform can be factorized into $H(z)=A\\frac{\\displaystyle\\prod_{i=1}^R(z-\\beta_i)}{\\displaystyle\\prod_{j=1}^P(z-\\alpha_j)}$, where $beta_i$ is all zeros and $z=\\ beta_i,i=1,2,... ,R$ so that the numerator is 0; $\\alpha_j$ is all poles, $z=\\alpha_j,j=1,2,... ,P$ such that the denominator is 0. Then for each point on the z-plane, the calculation of its z-transformation can be replaced by the calculation **of vectors with all zeros and poles as the starting point and a point on the z-plane as the ending**: \n",
    "\n",
    "1. Amplitude: $|H(z)|=A\\frac{\\displaystyle\\prod_{i=l}^R|z-\\beta_i|}{\\displaystyle\\prod_{j=l}^P|z-\\alpha_j|}$\n",
    "\n",
    "2. Phase: $\\angle H(z)=\\displaystyle\\sum_{i=l}^R\\angle(z-\\beta_i)-\\sum_{j=l}^P\\angle(z-\\alpha_j)$\n",
    "\n",
    "When taking $r=1$, the amplitude response and the phase response of the system are obtained. That means when we get all the zeros and poles of the system, its characteristics are determined. Therefore, designing the LTI filter can be done by designing the positions of the zeros and poles in the z-plane. Note the need to ensure that $h[n]r^{-n}$ is absolutely integrable when $r=1$."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# FIR filter and IIR filter\n",
    "\n",
    "Assuming the constant $A=1$, expanding the numerator and denominator of $H(z)$, we have $H(z)=A\\frac{\\displaystyle\\prod_{i=1}^R(z-\\beta_i)}{\\displaystyle\\prod_{j=1}^P(z-\\alpha_j)}=\\frac{\\displaystyle\\sum_{i=0}^R b'_i z^{i}}{\\displaystyle\\sum_{j=0}^P a'_i z^{j}}=\\frac{\\displaystyle\\sum_{i=0}^R b'_i z^{i-\\max(R,P)}}{\\displaystyle\\sum_{j=0}^P a'_i z^{j-\\max(R,P)}}$, which can be written as $H(z)=\\frac{\\displaystyle\\sum_{i=0}^M b_i z^{-i}}{\\displaystyle\\sum_{j=0}^N a_j z^{-j }}$.\n",
    "\n",
    "Another important property of the z-transform is that if the z-transform of $h[n]$ is $H(z)$, then the z-transform of $h[n-1]$ is $z^{-1}H(z)$, so multiplying a $z^{-1}$ in the z-domain is equivalent to delaying 1 sample point in the time domain. If $Y(z)=H(z)X(z)$, then we have $Y(z)=\\frac{\\displaystyle\\sum_{i=0}^M b_i z^{-i}}{\\displaystyle\\sum_{j=0}^N a_j z^{-j}}X(z)$, that is, $\\displaystyle\\sum_{j =0}^N a_j z^{-j}Y(z)=\\displaystyle\\sum_{i=0}^M b_i z^{-i} X(z)$, then we have $\\displaystyle\\sum_{j=0}^N a_j y[n-j]=\\displaystyle\\sum_{i=0}^M b_i x[n-i ]$, that is, $y[n]=-\\displaystyle\\sum_{j=1}^N \\frac{a_j}{a_0} y[n-j]+\\displaystyle\\sum_{i=0}^M \\frac{b_i}{a_0} x[n-i]$. Then at $a_j\\neq 0,\\exist j>0$, the system input must contain a delay term of $y[n]$, i.e., there is feedback in the system, at which point the system is called **infinite impulse response (IIR) system**. Only when $a_j=0,\\exist j>0$, the system input is only the weighted sum of $x[n]$ and its delay term, and the system is called **Finite Impulse Response (FIR) system**. A filter that satisfies the characteristics of an IIR system or a FIR system is called an IIR filter or a FIR filter."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Simple FIR filter design\n",
    "\n",
    "pyAudioKits provides functions to design FIR filters and IIR filters by specifying $a_j$ and $b_i$. Since it is difficult to design IIR filters by specifying $a_j$ and $b_i$, only the design of FIR filters by fixing $a_j=\\begin{cases}1,&j=0\\\\0,&others\\end{cases}$ and specifying $b_j$ is demonstrated."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pyAudioKits.audio as ak\n",
    "import pyAudioKits.filters as flt\n",
    "import pyAudioKits.analyse as aly"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First, a superposition of two frequency signals is generated."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "signal = ak.create_Single_Freq_Audio(0.1,8,256,0.5) + ak.create_Single_Freq_Audio(0.1,32,256,0.5)\n",
    "signal.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this case, the signal amplitude spectrum has two peaks and the amplitude is the same. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(signal).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Differencing is a typical high-pass filtering process. The system function of the first-order difference is $H(z)=1-z^{-1}$, which corresponds to the difference equation $y[n]=x[n]-x[n-1],n≥1$. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "signal_diff = flt.ltiFilter(signal, [1,-1], [1])    #Construct a linear time-invariant filter, set the numerator coefficients to b0=1 and b1=-1, and set the denominator coefficients to a0=1\n",
    "signal_diff.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compare the first 5 samples of the original signal with the first-order differenced signal. Note that the first digit of the first-order differenced signal is not valid, and is padded using zeros. The valid signal is shifted 1 sample to the right overall, so the system is not zero-phase responsive."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.09021971, 0.13826834, 0.1262677 , 0.07071068]),\n",
       " array([ 0.09021971,  0.09021971,  0.04804863, -0.01200064, -0.05555702]))"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "signal[:5].samples, signal_diff[:5].samples"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the amplitude spectrum of the signal after differencing."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(signal_diff).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It can be seen that the low frequency component is suppressed and the amplitude of the high frequency component is greater than the low frequency component at this point.\n",
    "\n",
    "Next, try using bi-directional filtering to achieve a zero-phase response."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "signal_diff2 = flt.ltiFilter(signal, [1,-1], [1], zero_phase=True)\n",
    "signal_diff2.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Comparing the first five and the last five samples of the three signals. After bi-direction differencing, neither the first nor the last bit of the signal is valid, so the valid signal is centered overall. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.09021971, 0.13826834, 0.1262677 , 0.07071068]),\n",
       " array([-0.01243628, -0.07071068, -0.1262677 , -0.13826834, -0.09021971]),\n",
       " array([ 0.09021971,  0.09021971,  0.04804863, -0.01200064, -0.05555702]),\n",
       " array([-0.02004833, -0.0582744 , -0.05555702, -0.01200064,  0.04804863]),\n",
       " array([0.        , 0.04217108, 0.06004927, 0.04355638, 0.00271737]),\n",
       " array([ 0.03822607, -0.00271737, -0.04355638, -0.06004927,  0.        ]))"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "signal[:5].samples, signal[-5:].samples, signal_diff[:5].samples, signal_diff[-5:].samples, signal_diff2[:5].samples, signal_diff2[-5:].samples"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since the amplitude response is quadratic to the original, the degree of suppression of the low-frequency components is much stronger, and the amplitude of the low-frequency components is now much smaller than the high-frequency components."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(signal_diff).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Smoothing is a typical low-pass filtering process. Taking the 9-point mean smoothing as an example, the system function is $H(z)=\\displaystyle\\frac{1}{9}\\sum_{i=0}^8z^{-i}$, and the corresponding difference equation is $y[n]=\\displaystyle\\frac{1}{9}\\sum_{i=0}^8x[n-i]$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAEHCAYAAABiAAtOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABPA0lEQVR4nO29e5gcV3ng/Xu7Z6bnfh+N5iJpJFmyLMmyLcuyudhAzMUE1gaME4MDZh+8BAhL9mH324VNAhtI9oPNPiHLtyzBMbBAIIYYiBUwODYEX8CWLMuybrbukjU991vPrXtu/X5/VNWo1e7R9Mx0d1V1n9/z9DPd1dVVp87Uqfc97+2IqmIwGAwGQyYJuN0Ag8FgMOQfRrgYDAaDIeMY4WIwGAyGjGOEi8FgMBgyjhEuBoPBYMg4RrgYDAaDIeMUuXlyEbkN+F9AEHhAVb+Y9P0twN8AO4C7VfWhhO/uBf7U/vgXqvpte/v1wP8FyoBHgD/WReKtGxsbtaOjIwNXZDAYDIXD888/P6CqTam+c024iEgQ+CrwFqATeE5E9qjqsYTdXgE+BPynpN/WA58DdgEKPG//dhj4GvDvgL1YwuU24OeXa0tHRwf79+/PxGUZDAZDwSAi5xf6zk2z2G7glKqeUdVp4EHgjsQdVPWcqh4C4km/fRvwmKoO2QLlMeA2EWkBqlX1WXu28h3gXdm+EIPBYDBcipvCpQ24kPC50962kt+22e+Xc0yDwWAwZIiCdeiLyEdEZL+I7O/v73e7OQaDwZBXuClcwsCahM/t9raV/DZsv1/0mKp6v6ruUtVdTU0p/VEGg8FgWCZuCpfngE0isl5ESoC7gT1p/vZR4K0iUicidcBbgUdVtRsYFZGbRESADwIPZ6PxBoPBYFgY14SLqs4Cn8ASFC8BP1TVoyLyeRG5HUBEbhCRTuAu4OsictT+7RDwBSwB9RzweXsbwMeBB4BTwGkWiRQzGAwGQ+YRU3Ifdu3apSYU2WAwGJaGiDyvqrtSfVewDn0/MTU7x4P7XiEyOeN2U3zDhaFJfvJCJ0Z5Sp9nzwzy3LmhxXc0ADA7F+cf91+gbyzmdlM8iasZ+obFuTA0yce/d4DD4Qin+8f5k3dsdbtJnufxY7186ocHGY3N0lZbzu719W43ydPMzsX5q385ztefOENjZQnPfOZWioNG77wcvaMx/v33X2DfuSHuur6dv7rrGreb5DnMHeRhXrwwwju+8hTnBifYsrqKfzrYxexccj6pIZG/e/IM931nP2sbyikvCfLjA52L/6iAmZmL84Fv7OPrT5xh9/p6BsanefKECc2/HKf6xnjHV57icDjC1W01PHK4m+j0nNvN8hxGuHiYB5+7gCo88smb+Q9v3kz/2BRPnRpwu1meRVX5+pNneN0VDTz00dfy9u0t/OxQN7EZM/AX4nA4wjNnBvmvv7uF7913I/UVJfz4QLoZAYXJjw6EGZmcYc8nXsefvOMqJqbnePRoj9vN8hxGuHiYI+EIO9bUsKa+nDdtaaK2vNgM/MvQOzrFwPgUb7mqmdLiIHfubGNsapZ/OdbrdtM8y5FwBIB37GilOBjg9mtaeexYr/HvXYYj4QhXrq5iU3MVuzvqaast40dmhvwqjHDxKNOzcY73jLG9rQaAUFGQ269p5V+O9jAaMwM/FYftB+XV7Vaf3bShgdaaUmMauwyHOyPUV5TQWlMKwJ0725mei/PTw10ut8ybqOq8OQwgEBDu3NnGb04N0BMxjv1EjHDxKCd6x5iei8/fxADv2dnO1Gycnx/udrFl3uVwOEJAYGvLxYH/7p1tPHmi30T0LMDhcITtbTVYOcewva2aTasqzQx5ATqHo4xMzswrfQDv3tlOXOHhg6bPEjHCxaMc6rS08B1ttfPbrmmvYWNTBT95wdzEqTjcOcKmVVWUlQTnt73HHvj//KIRyMnEZuY42TfOjoQHpYhw5/XtPH9+mAtDky62zps4s+Md7Rf7bH1jBTvX1ppxmYQRLh7lcDhCTVkxa+rL5reJCLde1cyB8yPGSZ2EZa4YvUSjBNjYVMn6xgqeOT3oUsu8y7HuUebi+qo+u3XLKgCeOWP6LJnD4QjFQeHK1VWXbL/1qmZe7hljaGLapZZ5DyNcPMqRcITtbdXz5gqHGzrqmZ6L8+KFEXca5lEcZ/7VbdWv+u6Gjjr2nx8iHjcJlYkcSfJROVyxqpK68mL2nTUJlckcCUfY3FxFqCh4yXYnl8okoV7ECBcPMjU7x8s9o1ydYBJz2LWuDjA3cTKHOkcAuLq99lXf3dBRz8jkDKf6x3PbKI9zqDNCQ4Iz30FE2NVRb+6xJFSVQ52RS0xiDjvaaygpCvCcEcjzGOHiQU70jDMzp5c48x3qKkrY3FzJvnPDLrTMuxyZd+a/eubiaJVGE7+UI0nO/ER2d9RzfnCSvlETCOHQORwlEp15lRkRrGjOa9trjUBOwAgXDzIfUpviJgZLEz9wfpg5Y+aZ53A48ipnvsPa+nKaqkJm4CcQnbac+QveY45ANn02z6Ljcn0dR7pGmZiazWWzPIsRLh7kcHjkVc78RHavr2d8apaXukdz3DJvMp97kMJcAZaZZ3dHvTFZJOA48xfqs22t1ZQVB02fJXCoM7Uz3+GGjnrm4soLr4zktmEexQgXD+IkaaUyV4B1E4Mx8zj0jMYYGJ9eUKMEy6nfFYnROWzCayHBmb9AnxUHA+xcV2vMrwk4mfnJznyH69fVERAz23MwwsVjqCpn+ifY1Fy54D6ttWW01ZYZM4/Nmf4JgMv22Q0mmucSzvSPUxUqoiXJmZ/IDR31vNwzSiRqKkKA1WebV6WetQBUlRZzVUu1me3ZGOHiMUYmZ5icnqO9rvyy++1eb0XzmPVKIDwcBWDNZfpsy+pqqkJF7DtrNHGA8EiUtrqyBWfHYDn1VeHAedNnM3NxekZjtNelNlU73NBRzwsXhpmeNdXLjXDxGOER60HZVrv4TTwwPs2ZgYlcNMvTdI5ECQisvowWHgwI13fUse+sSQwEK/JpsXvsurV1FAWEvUYTpycSI67Qtohw2b2+nthMfN75X8i4KlxE5DYROS4ip0Tk0ym+D4nID+zv94pIh739HhE5mPCKi8i19ne/to/pfLcqt1e1MjptLXwxDem1GxsA+I0pwU94OEpzdemiC1y9dmMDp/sn6LIFeCHjzFwuR1lJkOvW1pp7jESl7/IWhZs2NCBixiW4KFxEJAh8FXg7sBV4n4gkL7P4YWBYVa8Avgx8CUBVv6eq16rqtcAHgLOqejDhd/c436tqX5YvJaM4DufFtMqOxgrW1pebhZ2w+myx/gK4ZXMTAE+fLOyBPxqbYSw2m16fbWriSFeEwfGpHLTMuzhK32ICub6ihKvbasy4xN2Zy27glKqeUdVp4EHgjqR97gC+bb9/CLhVXm0kfp/927wgPBKlvCRIbXnxovvesrmRZ04PFrx9Nx0tHODK5iqaq0M8cbKwB344zQclWAJZFZ4ucE3c6bPLBUA43LKpiRcujBT80hhuCpc24ELC5057W8p9VHUWiAANSfv8PvAPSdu+ZZvE/iyFMAJARD4iIvtFZH9/v3ceNmHbFn45R6vDzZuamJie48ArhetwnYsrPZFYWlq4iHDzpiaePjlQ0Amo88IljT7b3lZDXXkxT54ocOEyMklTVYjS4tRhyIncvKmRubjy21OF7d/ztUNfRG4EJlX1SMLme1T1auBm+/WBVL9V1ftVdZeq7mpqaspBa9MjXS0cLB9CMCAFPQXvHY0xG9e0++zmTY1EojPztcgKkXn/QRp9FgwIr7uikadO9hd0ZGJ4ZPEACIed6+qoKAnyZIHPkN0ULmFgTcLndntbyn1EpAioARLVgbtJmrWoatj+OwZ8H8v85huWchNXlRazc21tQd/E6UbXOdy8qQkReKqA/S7hkSihogBNlaG09r9lcxN9Y1O83DOW5ZZ5l/Bw+kpfcTDAazY28uSJwhbIbgqX54BNIrJeREqwBMWepH32APfa798L/Ert/5aIBIDfI8HfIiJFItJovy8G3gkcwSdMTM0yMjmT9k0MtsM1PFqwDtdwmtF1DsbhujTTK1j3GMBTBarExONK10iM9jQVGIA3bG6kczjKucHCrQjhmnCxfSifAB4FXgJ+qKpHReTzInK7vds3gAYROQV8CkgMV74FuKCqZxK2hYBHReQQcBBr5vN32b2SzLFULRwSIqAK1OHq9FnrEvrs5k2NBe1w7VyC6RWs/KHNzZUF63cZGJ9iei6+NKXPHpeFrMS46nNR1UdUdbOqblTVv7S3fVZV99jvY6p6l6peoaq7EwWJqv5aVW9KOt6Eql6vqjtUdZuq/rGq+mbJxqVq4WA5XOsrSvjpocJcxrdzOEp9RQnlJUVp/+aNV65iLq784khPFlvmXcJpJFAm88YrV7Hv7BB9Y4VXgr9zGUrfuoYKOhrK+VmBjkvwuUM/3+hMM1ErkWBA+IMb1/LYsV5O9RWeTXwpPiqHXevq2LK6ivufPFNwq1PGZuYYGJ9acp+9f/daZuNxvvWbc9lpmIdZSuh2Ih94TQf7zg3xfIGWzzHCxUOEh6MUB4VVVek5Wh3ufW0HpcUBvv7EmcV3zjPCaSZQJiIifOyNGznVN87jL/VmqWXepGsJkWKJdDRW8ParW/j7Z84XnDlxOeZqgLtvWENteTF/+8TpbDTL8xjh4iHCI1FaasoIBNJztDo0VIa4+4a1/NPBcEGVNlHVJYVuJ/KOq1tYU1/G//n16YKK6FnugxLgY2/YyNjULH//7PlMN8vThIejVJcWUVW6eGJzIhWhIu59TQePHevlZG/hWRWMcPEQy9HCHe67eT2q8MBTZzPcKu8yNDFNbCa+rD4rCgb4yC0bOXhhhGfPFE5hxnTLmKRie1sNN29q5JtPnyU24xtX5oqxFJj0TdWJfOi1HZQVB/laAc5ejHDxEMvVwgHa68q5/dpWvr/vfMH4XpaSDJiKu65vp7EyxBd//lLBlNAJD0cJBoTV1YuXMUnFx994BQPj03zt14XzsFxOAIRDXUUJ79u9locPdvHihZHMNszjGOHiEaZn4/SNLd3Rmsh/uW0LFSVF/NH3XiA6nf+a5VLKmKSitDjIF+7YxoudEf7HL17OZNM8S3gkyurqUooWqSC9EDdtqOfd17XxlV+d5Len8z802TG9LiWCM5lP3noFq6tL+aPvHyiohdeMcPEI3ZEomsZ6EZejubqUv/79azneO8af//PRDLbOmzgzl5UM/Ldf3cIHX7OOB54+y2PH8t+5vxItHKxgiL9413bWN1bwxw8epH8sv5N3R6OzjE+lV0F6IWrLS/j/3n8dPZEY/+WhQwXj4zPCxSPM57is4CYGeMPmJj7+xo08+NwFHs/zh2XncJSKkiA1ZUtztCbzX3/3Kra1VvOf/vHFvNcsV2J6dagIFfF/7tnJaHSGP/2nwxlqmTfpHLGXwFhhn+1cW8d/vu1KfnG0hx8dSK5ylZ8Y4eIRuiJWclrLCoULwKfespn2ujIeeDq/Q5O7I1Fal1DGZCFKi4N86c4dRKIzPPR8Z4Za5z3icaV3NJZW2fjF2LK6mj98w0b+5Vgv5wfzdzXU7hFrXC6lAsRC3Pf6DVzVUs0DT50piNmLES4eoXfUuomX62hNpCgY4J4b1/HsmSGO53GxwZ7RqcsubbwUtrfVsHNtLd995lzeJlYOTEwxG9eMCBeAe25cS1Akr0OTezI4LgMB4YOvWcfLPWM8dy7/EyuNcPEI3ZEoteXFlJUsvl5EOvz+DWsoKQrw3WfPZeR4XqQnEs3IoHe497UdnBuc5Kk8rdPWY8+OV9esXAsHy8f3tm2r+cFzF/I2gKQnEiMYEJqWmNi8EHdc20p1aRHfeeZcRo7nZYxw8Qg9kamMPijrK0r4Nzta+fGBcF5mVM/Oxekfy9zMBeC27atprCzhO789l7Fjeol54ZLB++yDr1nHaGyWPS/mpx+hZzRGU2WI4BITmxeivKSIu3at4RdHeugbze86bUa4eISe0WhGH5QA9752HZPTc/w4D/0I/eNTxJWM9lmoKMj7dq/lV8f7uDCUf6XS5008Geyz3evrubK5iu88cz4v/Qg9kVjGx+UHblrHbFz5/r5XMnpcr2GEi0fI9MwFYEd7LTvaa/jJC/mnVWZDCwd4/41rAXj4YH72WXFQaKgoydgxRYQ/uGktR7tGOdk3nrHjeoWe0VjG77GOxgpu3tSYl+MyESNcPMD0bJyB8cyaeBxu2tDAS91jzMzlVwb6Rf9BZvuspaaMjoYKDocjGT2uF+iJxFhVVbrk2nWLcdOGBgAOdeZnn2VrXJ4fnMzr0HcjXDyAs0ZGpjUkgG2t1UzPxTmVZ1plJqN4ktnaWs3RrtGMH9dturP0oNzQVElpcYCjXfklXMZiM4xPzWalz7a1VgNwLA/vMwcjXDxAtrRwuHgT59vDsicSoyQYoD6DJh6Hba3VdA5HiUzml1bZO5od4RIMCFtW559AdtIDMhW6nci21hqAvBPIibgqXETkNhE5LiKnROTTKb4PicgP7O/3ikiHvb1DRKIictB+/W3Cb64XkcP2b74iK82wywHdWRQu6xsrKSsO5p2G1GM/KLPx73UG/rHu/OkzVbVmLlmY6YElkF/qGs0rp35PxCptk40+a6oKsaoqlFf3WDKuCRcRCQJfBd4ObAXeJyJbk3b7MDCsqlcAXwa+lPDdaVW91n59NGH714B/B2yyX7dl6xoyxbyGVJ2Z/INEggFhS0tV3mlI2X5QQn5plaOxWaIzc1nRwsESyGNTs1wYyp/1hLoj1rVkQ+kD6z7LN6UvETdnLruBU6p6RlWngQeBO5L2uQP4tv3+IeDWy81ERKQFqFbVZ9VSob4DvCvjLc8w3ZEYpcUBqsvSXwd+KWxrreZYd35pldky8QA0VoZorg7l1cB3TK/NRiCnjaP0Za/PajjZN563a+O4KVzagAsJnzvtbSn3UdVZIAI02N+tF5EXROQJEbk5Yf/EpI5UxwRARD4iIvtFZH9/f//KrmSF9IzGaKlZeY2shdjWWsNYLH+0ynkTT5aEC1h9lk8+hJ4s+g8ArlxdRTAgedVn3ZEYdeXFlBZnpmpGMttaq5mLKyfydJVKvzr0u4G1qnod8Cng+yJSvZQDqOr9qrpLVXc1NTVlpZHp0pNFEw/kn1Y5MjnD9Gw8q322taWaU/35o1X22CaebGnhpcVBrmiqzJt7DJzZceZN1Q5b8zTYxsFN4RIG1iR8bre3pdxHRIqAGmBQVadUdRBAVZ8HTgOb7f3bFzmm58hWLL3D5ub80iqzGQDh4GiV+VL4szvLZjGw+ixf7jFw/HqZqSmWijV15VSFivJKICfipnB5DtgkIutFpAS4G9iTtM8e4F77/XuBX6mqikiTHRCAiGzActyfUdVuYFREbrJ9Mx8EHs7FxSwXpwx6Nh+UpcVBNq3KH62yNwtlTJK5GCqaHw/L3tEYjZUllBRlb8hvba2mb2wqbxYQy/bMJRAQrsozgZyIa8LF9qF8AngUeAn4oaoeFZHPi8jt9m7fABpE5BSW+csJV74FOCQiB7Ec/R9V1SH7u48DDwCnsGY0P8/F9SyXwYlpZuOaVRMP5FdioKOFZ8t/ALCmvoyq0vzRKrPto4L8yt2Ymp1jYHw6q/cYWLO9l7vHmMvDZR6yE56UJqr6CPBI0rbPJryPAXel+N2PgB8tcMz9wPbMtjR7ZDOBMpFtrTX8+ECY/rGpjJUPd4ueSJSAQFNl9q5DRNjakj8CuScSW9Fy0OmQ6EN445WrsnqubNM3mr0cl0S2tdYQnTnH2YFxrlhVldVz5Rq/OvTzhmyWMUlk06pKAM4O+H/VwJ7RGE1VIYqC2b19NzVX5kV/wcWk02xSU1ZMc3UoL/osGxWkU+GMyzP9/u+zZIxwcRkniifb029nmVYnMczPZDOBMpHW2jIi0Rkmpmazfq5sEpuZY2RyJmd9li/3GGRfuFwcl/m3tosRLi7Tba9015BFEw9Aa601SMIj/h/42Q6AcGjLE4Gc6RUoL0drbRldI/5/UPbmSLg0VFhBFl15MC6TMcLFZXpGYzRXZW6lu4UoLymitryY7jwY+LmaubTYD2O/Pyy7s7T2TSpaa0rpGon6vhpEdyRGeUmQqlB23dKBgNBSU0qXmbkYMs25gQna68tzcq7WmjLfa0hjsRnGYrO01OZCC7cexn7vM2fm1VKbG7PY1GycoYnprJ8rm3RHorRkqTBqMvkwLlNhhIuLqConesfZsjo3USKttaW+N4s57c925BNYCYcB8b9w6Ry22t+WA4HszPb87kPoHI7SXpcjpa/WCBdDhgmPRBmfmmVzc66ES5n/B/2QI1yyP/CLgwFWVfnfZNE5PElTVShrNbIScQSY35WYzuHJnCgwYCl9vaMxZvNstVgjXFzEKS2Sq5lLS43/o5+ch1YutHCwBr7ftcrwSDRnD0rH9Nbt4z6bmJpleHKGtpwJlzLiCr15UtnAwQgXFzluV0PdlLOZiz3wfRz91Dk8SagoQGNl5legTEVLPsz2hqM5E8bz0U8+7rOLptfcmMWcNAQ/C+RUGOHiIsd7xmitKaWmrDgn52udN1n4e+C312VveYJk2mrLCPs4+ikeV7pGcuc/EBFaa/zt2wsP586vB/ljSkzGCBcXOd4zxpU5MonBReHiZzNP53CUthw9KMEKrZ2ejTPo0+invrEpZuY0Zw9KsH17vr7HJgFoz9Fsr6U2P0LekzHCxSVm5uKc7h9ncw6FS3NViID4e/ptRfHk7kHpDHy/5gc5D8pc+Q/A/4mUncNRSooCNGY5sdmhMlREdWmRr83VqTDCxSXODUwwM6c5c+YDFAUDNFeX+tYsNjk9y9DEdM78B+B/k4XT7jW5FC41pfSNxZjxafRT54jlowpkObE5kXwMRzbCxSVetiPFchWG7ODn2k+5toVDgrPVp312Mcclh6ZEJ/pp1J9KTK5nx+D/2V4qjHBxiRO9YwQDwsamypyet6XGv6G1ncO5jeIBqK8oIeTj2k+dw5M0VJRQVpL9HBeHFp8XYwznMMfFobW2lC6fKjALYYSLS7zcM0ZHQ3lOEtsSaastoysS82X0U2cOs/MdRMTXWqUbWnibj8vmxGasRcJyaXoFKwdtZHKGyWn/5qAlY4SLSxzvGWPL6uqcn7fFx9FPncOTlAQDWV0kLBV+1irDOSxj4uDngp9uzI7hom/Pj322EK4KFxG5TUSOi8gpEfl0iu9DIvID+/u9ItJhb3+LiDwvIoftv7+T8Jtf28c8aL88tyTexNQsrwxN5tzfAv4OR7bCkHPraAX/FhaMx9VyTud45lIRKqKmrNiXfTYfhuyCzwX8OS4XwjXhIiJB4KvA24GtwPtEZGvSbh8GhlX1CuDLwJfs7QPAv1HVq4F7ge8m/e4eVb3WfvVl7SKWyYFXhgG4dm1tzs/d6mMNKZzDTPNEWmrL7HwRf0U/DUxMMT0bz/mDEqwZsh+DIObLC+W4z/weOJIKN2cuu4FTqnpGVaeBB4E7kva5A/i2/f4h4FYREVV9QVW77O1HgTIR8c3C8M+eGSQYEK5fV5fzc/tZQ3LDfwCWD0H14qJbfqHTheg6B6uygb/6C6w+Kw4Kq6qyvzxBIqtrShHxd/WMZNwULm3AhYTPnfa2lPuo6iwQARqS9rkTOKCqiVXfvmWbxP5MclUnZAnsPTPE1W01VGZ5IaJU1JUXU1rsv+gny9E65c7MpcafAtmNMGSHFp8W/OwcjtJSU5b1xfuSsSpwh3zZZwvha4e+iGzDMpX9YcLme2xz2c326wML/PYjIrJfRPb39/dnv7E20ek5Xuwc4cYN9Tk7ZyIillbWP+6vCqzzxQTrcy9cmu0VHH3XZ8PumHgAmqtKiURnmJqdy/m5V4IbYcgOzdWl9OdRZWQ3hUsYWJPwud3elnIfESkCaoBB+3M78BPgg6p62vmBqobtv2PA97HMb69CVe9X1V2ququpqSkjF5QOB14ZZmZOuWlD8gQsdzRWlvjuJnYrigeYr8Dsvz6bpK682JUZcmOVZaUeGPdXVKJbpleAxsqQ7+6xy+GmcHkO2CQi60WkBLgb2JO0zx4shz3Ae4FfqaqKSC3wM+DTqvobZ2cRKRKRRvt9MfBO4Eh2L2Np7D0zSEBglwv+FoemqhADPtPCXxmcANzxH9SVlxAMiP/6bGjSFWEMzIeLD/joYRmdnqNvbMrVPvPbPXY5XBMutg/lE8CjwEvAD1X1qIh8XkRut3f7BtAgIqeATwFOuPIngCuAzyaFHIeAR0XkEHAQa+bzdzm7qDR41va3VJXmpsx+KhorQ77TKE/0jlMVKmJ1dW4drQCBgNBQUcLAmN/6bIxNzbmtAOFwcebin4flyT6nJJNbfVbC4MQ08bj/EpxTkdZ8WUQ2A18DmlV1u4jsAG5X1b9YyclV9RHgkaRtn014HwPuSvG7vwAWOvf1K2lTNonNzHHwwggfel2Hq+1orAwxNDHNzFyc4qA/3G7He8fYvLoqZ+u4JNNYGfKVz2Vkcpre0SmudCGXCvxpSjzuUr0/h8bKEHNxZXhymoYcJwpng3SfLH8HfAaYAVDVQ1hmLMMSOPDKMNNzcW5c744z36HJ1iqHfJKlr6qc6B1zbdCD/0yJJ3rHAXK6pEMiTrl6f/XZGCVFAdY1VLhy/iaf+qkWIl3hUq6q+5K25U8RnByx/9wwIrCrw13h4gx8v2iV/WNTjEzOcKVL5gqwTYk+6S+4uIS2WzOX0uIgVaVFvnpQHu8dZ9OqypyHITv4USBfjnSFy4CIbAQUQETeC3RnrVV5yqHOCBsaK3K2rPFCNFXZJguf3MTzD0oXarE5NFaVMDA+7ZuCnyd6xqgKFc1nfrtBk8+in070jLkmjMF/St9ipBuj+EfA/cAWEQkDZ4E/yFqr8pQj4Qg3uZTfkkhTpfXA8YsmftEW7t7MpakyxPRcnNHoLDXl7ioH6eC2jwosp75fFJjI5Aw9ozHXzIiQaBbzR58tRlozF7tEy5uBJmCLqr5eVc9ltWV5Rv/YFD2jMba31bjdFBrtmYtfTBbHe8ZorAy56uR0Br4fHpaOj+pKFx+U4K/Q2hN9zuzYvT6rLi2iJBjwxT2WDpeduYjIpxbYDoCq/nUW2pSXHAlHALjaA8KlvKSI8pKgb6bf1oPSvVkLXGqyuGKVu21ZjIs+KneFi5+SdZ3ZsZt9JiK+6rPFWGzmUmW/dgEfw6r11QZ8FNiZ3ablF4fDEURgmweEC/gn+ikeV070jrsaKQb+Mlm4tYR2Mk1VIcZis8RmvF8C5rgHfFTgjEt/WBQW47IzF1X9cwAReRLYaZdUQUT+G1aGvCFNDocjrG+scKUURyoafWKy6ByOEp2ZY4vLJh4/RfKc6HXfRwUX+2xwIvcrOy4VL/iowOozvy4PnUy60WLNQKI4nba3GdLkSDjiCZOYg1+m3y/3jALua+G1ZcUEA+KLPvOCjwr8E/3khTwqB78l616OdNXo7wD7ROQn9ud3cXGdFcMiDIxP0R2JeUq4NFWF2Hd2yO1mLIqjhW9yeeAHApY93C8zF7d9VJBgSvS4cPFCHpVDU5VVPSMe15yvuJpp0o0W+0vg3wLD9uvfqup/z2bD8onDtjPfC5FiDo2VIYYnZzy/uuLx3nHa68o8YU70Q002r/iowD/1xZw8KjfDkB0aK0vmS8D4nbSEi4isxVpa+Cf2a9DeZkiDI52WcNnW6l4SYDLz9nCPPyyPhiNscTF5MhE/lEQ/MzBBdGaOqzzQZw0V/qgvdiRsmV69cJ81+ijkfTHSVQd/hp2dD5QB64HjwLZsNCrfOBy2MvPdrIScTGL002qXI2QWom80xpmBCe7evWbxnXNAU1Vo3kznVfaeHQTgBpfr14FVAqa6tMjzM5e9Zwe5YlUl9bYwdJOLSxVMw2qXG7NC0hIu9sqO84jITuDjWWlRHnKse5Rr19S63YxLmHe2enjg77V9Qjeud29htUScCDtVdT2qaCH2nhliVVWIjgZ31iRJptHjobWzc3H2nxvmjmtb3W4K4B9TYjosq966qh4AbsxwW/KSmbk4XSNR1je6U2l1IZp8EMnz7JlBKkNFnjEnNlaWMDOnRKIzbjclJarKs2cGuXFDg2eEn9dNiUe7RhmfmuVGF1eGTcQvEXbpkO56LomZ+gGsBMqurLQoz+iJxIgrrHFpdbuFuFgCxrs38d6zQ1y/ro4ij6w5k2hKrC1334SSzLnBSfrGplxf0iGRpqoQL3WNut2MBXHMiDd5pM+qS4soKQp4elymS7qjtirhFcLywdyRrUblExeGJgF3lue9HOUlRVSUBD27uuLA+BSn+sa50QOFPh0uzva82Wd7z9gPSo/1madNr2eGWN9YwSoXVjhNhYh4vs/SJV2H/jFV/cfEDSJyF/CPC+xvsOkcjgKwpt5bMxfwdtXafR7zt4D3I3n2nh2isbKEjU3u52s4NFaWzJeAKS0Out2cS5iLK/vODfGOq1vcbsol+CXBeTHSnbl8Js1tS0JEbhOR4yJySkQ+neL7kIj8wP5+r4h0JHz3GXv7cRF5W7rHzDUXhicJBsT1mkWpaPLwAlh7zwxSVhxkR7t3coMuRvJ4r89Ulb1nBtm9vt4z/hbwdk22l7pHGYvNemp2DPlTX2yxqshvB34XaBORryR8Vc0KV6IUkSDwVeAtQCfwnIjsUdVjCbt9GBhW1StE5G7gS8Dvi8hWrGWWtwGtwOMistn+zWLHzCkXhiZZXV3qGb9BIo2VIU73j7vdjJQ4/pZiD/VbTVkxRQHx5IOyczhKVyTGH3popgeJNdmmafeY39Fr0YgOjZUhXrRz4/zMYiO3C9gPxIDnE157gLdd5nfpsBs4Za8VMw08yKv9OHdwsczMQ8CtYqlldwAPquqUqp4FTtnHS+eYOaVzOMqaem/5Wxwaq0o8aeIZnpjm5Z4xTzmmwSoB0+BRk8Wztr/Fa1q4l6Of9p4ZZE19Ga0eK6rZWBlicHyKubg/Vj1diMWqIr8IvCgi31PVFc1UUtAGXEj43Mmrw5vn91HVWRGJAA329meTfttmv1/smACIyEeAjwCsXZu9YgMXhie5eVNT1o6/EpoqSxmxS8B4aYaw75ytUXokPDQRry5VsPfsELXlxWxe5X4Jk0S8ahaL2/6WN1/lvfq7TVUh4grDk9PzwtmPXPaJIiI/tN++ICKHkl85aF/WUNX7VXWXqu5qasrOw39qdo7e0SnPhSE7OOHIXisBs/fMEKGiANes8Y6/xcGr9cX2nh1kd0e954odNlTaIe8em7mc6BtjZHLGc7Nj8NfyDpdjsWixP7b/vjML5w4DiXU92u1tqfbpFJEioAYYXOS3ix0zZ4TnI8W8Ne12SDRZeKkEzN6zg1y3tpZQkbeii8Dqs5e7vVUCpmskyoWhKB967Xq3m/IqQkVWCRivmV/3nrFmxzd5cHbcWHmxJtsWH5eAuezMRVW77b/nU71WeO7ngE0isl5ESrAc9HuS9tkD3Gu/fy/wK1VVe/vddjTZemATsC/NY+YMJwzZa45MBy+aLCLRGY51j3rOyerQVBVicMIqAeMVnERAL2rh4E1T4t6zg7TWlHou/wy8OS6Xw2LRYmNcLFgJIPZnAVRVl12Xw/ahfAJ4FAgC31TVoyLyeWC/qu4BvgF8V0ROAUNYwgJ7vx8Cx7Ci1v5IVefsNr/qmMtt40q5MGwlUHp15tLkwfpi+88Noeo9x7RDY2VovgSMV7L0954Zoqq0iKtavFEmJ5nGypCnknVVlX1nh7h5U5OnwrYd5uuLeajPlsNiDv2segdV9RHgkaRtn014HwPuWuC3fwn8ZTrHdIsLQ1GKg8KqKu+YnBLxYiTP3rNDlAQD7Fxb53ZTUpJosvCMcDk7xO6OeoIe87c4NFaFOOahEjCn+8cZGJ/27EyvKmSVgPGS0rcc0g4REpGdIvJJEfn3InJdNhuVL3QOT9JWW+bZQV9WEqQy5K2S6HvPDHLNmhrPZXM7NHksS79vNMbZgQnPzvTAe8m6z57xbjQiXCwB46U+Ww7pLhb2Wax8kwagEfi/IvKn2WxYPnBhOOrJsi+JWEv3emP6PT41y5Eu7/pbICFL3yN99qxHEwETaaoKMTZllYDxAnvPemtZglR4uTRTuqQ7c7kHuEFVP6eqnwNuAj6QvWblB+HhSU86DBOxSqLH3G4GYPlb5uLqaS3ca6bEvR5bliAViaZEt3HK5HhpWYJUNHk0WXcppCtcuoBEx0EIF0N8/cDk9KwnS14k46U6RvvODlEUEK5f501/C1glYIqD3ikBs89jyxKkwkvRT+c9uCxBKrw0LpdLundkBDgqIv9XRL4FHAFGROQrSTXHDDZhD1dDTsRZXdELHOseZVNzFeUl6Rbrzj2BgNBQ4Q17eGxmjtP941zjsVVOk2n0kCnxWLcVWOC1lWGTaawMMTTh7xIw6Y7in9gvh19nvin5ReeIJVzaar0ZKebQWBliZHKG6dk4JUXuar8nesbY7XGNErxTk+1U3zhxhSubvVXyJRkvmRKP94whAles8s6yBKlorLRKwAxNTM/P/PxGWsJFVb+9+F6GRJyB5NUwZAfnxh2cmKKlxj3/0Ghshq5IjM2rvf2gBO8sgHWi16oUcOVqbz8o50vAeKTPOhoqPBuN6JBoSvSrcEk3WuydIvKCiAyJyKiIjImIdwLXPYgjXLx+YzTO135y12Rx0nlQelwLB+8kBR7vHaMkGGBdQ4XbTbksoaIgNWXFnhAux3vH2NzsbWEM+VFfLF07yN9glWFpUNVqVa1aSXZ+IdA/NkVVaZHnNaSLqyu6GzF2vMdaV2azH4SLXc4k7rI9/HjPGBtXVXqqovVCeGF1xdjMHOcGJrhytfcfXV6KsFsu6d6VF4Aj6qWCSh6nf2yKVR6ftUDi6oruauIneseoKAnS5rG1NVLRVBliNm6VgHGTEz1jXOkDLRy8UV/MLz4q8FaE3XJJ16H/n4FHROQJYP5qVfWvs9KqPKB/zB+2Uq9knB/vGWPz6irPlYxPRWPCwK+rcKcEjJ98VGCZeY66XALGLz4qgMpQEaGigCci7JZLujOXvwQmsXJdqhJehgXoH5+iyePOfIDSYqsEjJvTb1XleO+YLzRK8IbJwk8+KnCSdV1WYHziowKrBIwX+mwlpDtzaVXV7VltSZ7RPzY1b3LyOm6bLAbGpxmamPaFvwWYN3e6Odvzk48KrHts3C4B45Yf8kTPGBuaKnzhowL3x+VKSbeXHxGRt2a1JXnE5PQs41OzvjCLgVNfzL2b+KK5wh8PSi8kBTo+Kq+XF3Jo8kCuy4necbb45B4Db8z2VkK6wuVjwC9EJGpCkRfnYo6LX4SLuzfx8R5LuPhFC3dKwLjZZy/3jLJ5dZWn62Ml4iyp7dZsbzQ2Q3gk6hsfFUBTlbtK30pJN4mySkTqsVZ89L4jwWX8kuPi0FQV4renB107/4neMeorSuZ9GV7HsYe7NfBVleM9Y7xtm3/WwG2qtB4bbpXN8ZuPCqzZ3tDENHNx9eyyHZcjLeEiIvcBf4y1Jv1BrKrIvwVuzVrLfIzfhEtjZYhIdIap2TlX1q13Etv8ooWDuzXZBsanGZ6c8c1MDy7OXNwyJfrNRwVWVKKfS8Ckaxb7Y+AG4Lyqvgm4DquY5bIQkXoReUxETtp/U5bBFZF77X1Oisi99rZyEfmZiLwsIkdF5IsJ+39IRPpF5KD9um+5bVwJfT4ULgCDLgx8VeVk77ivBj24mxToaOF+6rOGCnd9Lid6xyj3SR6Vg5dqsi2HdIVLzF5yGBEJqerLwJUrOO+ngV+q6ibgl/bnS7DNcJ8DbgR2A59LEEL/U1W3YAm514nI2xN++gNVvdZ+PbCCNi6b/rEpggGh3iPL4C6Gmwlbw5MzjE/N0uGD8NBE3IzkeWVoEoCORm9X3E6kpChAbbl7JWAuDE2yrqHCF3lUDn5PpExXuHSKSC3wT8BjIvIwcH4F570Da2VL7L/vSrHP24DHVHVIVYeBx4DbVHVSVf8VQFWngQNY5jrP0D82RWNliW9u5EYXCwt2DlsPSr9EPTk0VoYYHJ92pQRM53CUYEBYXe0v96ebpsTO4agv7zHIc+Giqu9W1RFV/W/AnwHfILVASJdmVe223/cAzSn2acMqO+PQaW+bxxZ4/wZr9uNwp4gcEpGHRGTNQg0QkY+IyH4R2d/f37+ca1iQfp9VMnXa2jvqhnCxlybw2cBvqrJKwAxN5t6UGB6Jsrq61NMLhKWiqTJE72jua9ipKuGRqK9MYuDuuMwES747VfUJVd1jzxoWREQeF5EjKV53JB1PgSWrfyJSBPwD8BVVPWNv/megQ1V3YM10FlwqQFXvV9Vdqrqrqalpqae/LH5KoARori5FBLojuR/4zqJqXl+xMxlneYIeF/qs0wfLZ6eipbbUlf6KRC3Tq9/6rDJURFVpET2RqNtNWRZZU31U9c2quj3F62GgV0RaAOy/fSkOEQYSZx7tXLq08v3ASVX9m4RzDqqqI+YfAK7P4CWlTd9YzFczl+JggOaqUrpGcn8Tdw5PUlVaRE1Zcc7PvRIcLTjsSp9FfTfTA6vPekZjzM7Fc3reTp8qMGD1WXjE3Yrly8WtefUerBL+2H8fTrHPo8BbRaTOduS/1d6GiPwFUAP8h8QfOALL5nbgpcw2e3HicWVg3H+hg621pXS7oCF1DvvPXAGWFg7QnWPhMj0bp3c05ssHZWttGXGF3hxHP10ULv67z1pry1wZl5nALeHyReAtInISeLP9GRHZJSIPAKjqEPAF4Dn79XlVHRKRduBPgK3AgaSQ40/a4ckvAp8EPpTLiwIYnrSSnry+AmUyLbVldLmgIYVHor58UDZUlFBSFKArx2aenkiMuPrzQdlS445A9mvQCFh95oZFIROkW7gyo6jqICkSMFV1P3BfwudvAt9M2qcTSBmGpaqfAT6T0cYuEae8hd9mLm21ZTx+rBdVzVkyo6rSORzlpg0NOTlfJhERWmtKc24Wm39Q+nC2l2hK3JXD83YOR6kM+c/0CtbMZXhyhuj0HGUl3l54MBl/hZv4AL9l5zu01JQyNRtnaCJ30U9+dbQ6tNaW5V4LH/Gv/6DFFi65DhxxIsX8VAHCodU2v3b50DRmhEuG6bPDBv0ULQbWgxLIqWnMz7ZwsPos16bEzuEoIrC6xl9mV7Cin6pLi3Ju5vFjjotDa40zLo1wKXj8bBaD3GpI8zkutf7TwgFaa0rpG4sxk8Pop/CwleNSUuTPoWsJ5Nw+KMPDk76MroOLSl+3DyPG/HmHepj+sSkqSoJUhFxxZy0bx9may4HvZ0crJEQ/5TAxsHN40pfRdQ65nu1FojOMxvxrel1dY+WguRHyvlKMcMkw/WNT82us+4n6ihJCRYGc2sPDI1EqSoLUlvvP0Qru+BD8bOIBy4eQy9mxX5N0HYqDAVZVhXwZjmyES4bxW3a+g4jQWluWUw3JSQb0o6MVoK02t7O92bk4PT7NcXFoqSljZHKGyenZnJzPuZ/9PNtrqXEnTWClGOGSYQbGp+YLzvmN1trSnEY/WVq4vx+UkLsgiJ7RGHNx9a3/ABJ8eznqM7+bXsHqMxMtZrCES5U/Su0nk2sNKezTGlkOFXbuRK5mLn6ProPc+/Y6h6OUFQepr/DnmISLiZRWGUb/YIRLBpmZizM8OTO/MJLfaK0ty1n0k+No9bO5AqyBnyt7eHjY/yae+einHPaZn02vYPVZbCbOyOSM201ZEka4ZJBhOwHRjw59sHwIuYp+8ruj1SGXhQWdmUurj4XLxeinHPXZiL9nx3Dx/+23iDEjXDLIfI5LpT+n4Ln0IYRH/G/iAauAZe5MPJOsqgpRWuyvMiCJzEc/5dAs5vd7rDXHgSOZwgiXDDJgr0HvX4d+7kwWzkBxqgv7ldbaMiLRGSamsh/91B2JzYc/+5nWHDmoJ6dnGZmcmVea/EqrS2VzVooRLhlkwK4r5l/hYj3oczH97o7EKA4KjT71Tzk45TlyIZC7I1FafVj2JZnWmrKcZJw7C5O1+LzP5itwm5lL4eKsde1Xn0t5SRG15cU5Gfi9ozFWVZUSCPjX0Qq5rcnWOzpFc7W/H5RgKTHhHEQ/9di+Qz/WYUvEqcCd6+UdVooRLhlkYHyK0uIAFT4rjZ1Ia01uaj91R6K+1yghd/bwsZhVQTo/+qwsJxW4L85c/G0WA3dqsq0UI1wyyMD4NI2VIV+HPa5rKOfMwETWz9M7OkVzHjwonSKS2e6z3jzRwsG6x4Cs99n8zCUPZnvrGso50z/uq1wXI1wyiJ+z8x22tlRzdmCC8Sw6qFXVmrnkwaAvCga4srmKo12RrJ7Hcebmw4Nya0sNAEfD2e2znkiMmrJi3y2ylYqtLdUMT874yqnvinARkXoReUxETtp/6xbY7157n5Micm/C9l+LyHF7ieODIrLK3h4SkR+IyCkR2SsiHTm6JMAuWulz4bKtrRqAl7pHs3aO0egssZl4XmjhANtaqznaNZpVrdIx8eRDnzVXh2ioKOFoV/buMbAEcj4IY4CtrbZAznKfZRK3Zi6fBn6pqpuAX9qfL0FE6oHPATcCu4HPJQmhe1T1WvvVZ2/7MDCsqlcAXwa+lM2LSGZgfJomn5Z+cdjWmn2tsnvUsh3nw4MSLOEyMjmTVYerI1zywaEvImy1BXI26R2N5c09dlVLFSJkfYacSdwSLncA37bffxt4V4p93gY8pqpDqjoMPAbctoTjPgTcKjlygMzFlaGJKd+WfnFYVRWisTK7WmW+hIg6bM2BQO4ZjVFfUeLrBMpEtrXWcLJvjOnZ7JUayqeZS3lJERsaK8zMJQ2aVbXbft8DNKfYpw24kPC5097m8C3bJPZnCQJk/jeqOgtEgIaMtnwBhieniSs0+jQ730FEuKolu1plPmnhkKhVZrfP8qW/wJrtzcwpJ3rHsnL8mbk4A+NTeTNzAUuJOWaEC4jI4yJyJMXrjsT91DJUL9VYfY+qXg3cbL8+sIz2fURE9ovI/v7+/qX+/FX4PcclkWxrlT2jMURgVVV+DPxcaJU9o7G8memBJVyArD0s+8amUM0f0ytYfRYeic7XMPQ6WRMuqvpmVd2e4vUw0CsiLQD2374UhwgDaxI+t9vbUFXn7xjwfSyfzCW/EZEioAYYXKB996vqLlXd1dTUtNLLZdDnpV8SybZW2ROJ0VAR8u068KnY1lqT1SCIfJu5dDRUUFES5FiW+iyfAiAc5gVyFu+zTOLW6N4DONFf9wIPp9jnUeCtIlJnO/LfCjwqIkUi0gggIsXAO4EjKY77XuBXmqPA8PmZS54IF8ieVplvWjhkV6ucmp1jcGI6r/osEHDMr9nxU/XkUei2w3ywjU+c+m4Jly8CbxGRk8Cb7c+IyC4ReQBAVYeALwDP2a/P29tCWELmEHAQa7byd/ZxvwE0iMgp4FOkiELLFv1jTkVk/wsXR6vM5sDPJy0cLg78bGiVfaPWvZVPD0qwBPKxrlHi8czrf06tt3wSyPUVJbTUlPrGqV/kxklVdRC4NcX2/cB9CZ+/CXwzaZ8J4PoFjhsD7spoY9NkYHyakmCA6jJXujSjXNQqszdzuaGjPivHdgtntne0K8LrrmjM6LHzpUZWMttaa/j2M+c5PzTJ+saKjB67dzRGqChATVlxRo/rNttyEMKdKfLH6O0yA+NTNFSW+Lr0SyLbWqt5qTvzWmV0eo6RyZm8e1DWVZTQmiWtsjvPQrcdtiYI5EzTHbFMr/kyHh22ttZwpn+c6PSc201ZFCNcMkQ+lH5JZFtbDRPTc7zUk9mHZT7Ve0pma2sNz58fzrhA7rFNPPlQiy2RTc2VFAeF/eeGM37s3tH8M70CbG+tJq7wwiuZ77NMY4RLhrCEi79zXBK5dcsqSooCPLjvwuI7L4F8S6BM5J07WugcjvKb0wMZPW5PZIqKkiBVIf+bXBMJFQV5y9Zm/ulgmNhMZjVxZ+aSb7x+UyNVpUX8w3OZHZfZwAiXDDEwNp1XM5eGyhDv3NHCjw90Mhabydhxe0bzUwsHePvVq2moKOE7z5zP6HF7RqM056GJB+ADN3UwMjnDnhe7MnbMeFzpy5Oq28mUlxRx1/Vr+MWRbvrGvF3E0giXDKCqDE5M0ZBHwgXgg6/pYGJ6jp+8EM7YMXsi+Rn5BJYmfvfuNfzypV46hyczdtyePNXCAW7aUM/m5kq+88y5jBX+HJqcZnounhdVt1PxgdesY2ZOM25VyDRGuGSAkckZZuaUpjzIzk/k2jW17Giv4TvPnM/YwO+JRKkqLaIiz0w8Du+/cR0A39v7SsaOmY+h2w4iwgde08GR8CgvXBjJyDEvJlD6f5GwVKxvrODmTY18b+95ZuayV5ttpRjhkgG68jCm3uGDr+ngVN84z5xOWehgyeRjAmUibbVlvGVrMw/ueyUjfoS5uNI3NpXXffae69qoChXxnd+ey8jx8jE7P5l7X9NB7+gUjx3rdbspC2KESwZw1pzPxwfAO3e00FhZwhd+9lJGHpbdeayFO3zotesZnpzhy4+fWPGxBsanmI1rXpoRHSpCRdy1aw17Xuxi75mVKzFOAmU+99mbtqxiXUM5X/rFy4xm0CeaSYxwyQDOzdxam3/T8NLiIH911zW81D3K5396bMXHCw9Haa/Lv35K5DUbG3j/jWv5+hNn+NeXU5XNS5/OYeveasvzPvvUWzezrqGCTz74AoN2KaXl0jkSpTgorMozM3UiwYDw1793DZ3DUT7zo8OeXP7YCJcM0BWJURSQvIoWS+RNV67io2/YyPf3vrKiqJ7otFUjqy0PhXAyn33nVq5qqeZTPzw4r3wsh/CILVxqyzPVNE9SGSrif7//OoYnZ/jUD19cUa5QeDhKa20ZgUD+Rdclcv26ev6ft13Jzw538/cZ9PFlCiNcMkD3SJTm6lKCeXwz/8e3bub6dXX8yU8OE4kubxruPCjb6/L7QQnWjO+r77+O6dk4n3346LKPEy6QmQtY5WA++86tPHGinx8d6Fz2ccIj0YJQYAA+cvMG3nRlE1/46TF6R70VmmyESwboisTy/mYuDgb489u3MRab5Xt7l5fHMa+FF8CDEmBDUyX33byBx471Lnv5gvDIJLXlxVTmaXRdMvfcuJatLdV87YnTzC1z9hIeLhzhEggIf377dmbn4nzz6bNuN+cSjHDJAN2RKC21+es8dNjeVsMtm5v45tPnluXcn9fCC2TgA3zotR2UFQf52ydOL+v3hfSgBCs0+WNv3MiZ/gkeO9az5N9Pzc7RNzZVMAoMwNqGct65o5W/f/Y8kUnvOPeNcFkh8bjaSW6FcTN//I0bGRif4h+fX7rZIjwySVFA8j5aLJG6ihLet3stew52LSuxspBMPA6/e3UL6xrK+dqvTy/ZUe1EbhZan33sjRuZmJ7ju8+ec7sp8xjhskIGJqaYmVNaC2DmAnDj+nquW1vL/U+eZnaJCVzh4Sira/LbN5WK+25ejwg88NTSzBaqas1cCkgLBysS6g9v2ciLnRF+u8T8qkIzvTpc1VLNm65s4lu/OeeZislGuKyQizkuhXEziwgfe8NGLgxFefylpYXZFqIWDlaI+ruubePB515hYmo27d9FojNMTM8VZJ+9Z2cbTVWhJfsRHNNre55H16XiY2+8gsGJafa8mLlyTSvBCJcVko8r3i3G72xZRVVp0ZJzOApRC3d493VtxGbiPLuEJEEnxyXf84JSUVoc5B1Xt/Cb0wNL8u91jkQRye/s/IW4oaOOttoyfrXC3KpMYYTLCumyZy75mEC5EEXBAK+/opEnT/anbROfmYvTMxqjvYD6KZHrO+ooKw7y5In+tH9TKDkuC3HL5kZiM/ElrfcSHo7SXFVKSVHhPdpEhFs2N/LbU4OeqDnmyn9AROpF5DEROWn/rVtgv3vtfU6KyL32tioROZjwGhCRv7G/+5CI9Cd8d1+q42aS7kiUUFGAuvL8Wk51MW7e1ER3JMbp/vG09u+JxIhr4dnCHUJFQW7aUM+TJ9Nf66WQclxSceP6BoqDwlMnlyKQJwu2v8Aal2NTs7yYoSKgK8Et8f5p4Jequgn4pf35EkSkHvgccCOwG/iciNSp6piqXuu8gPPAjxN++oOE7x/I9oV0RWK01pbl5Vobl+PmTdY68U+cSO9hOV/GpEC1cIBbNjdxdmCCC0PpRY11DkcpKw4WnOLiUBEqYte6ep5Y4myvEH1UDq/b2EhAWNIMOVu4JVzuAL5tv/828K4U+7wNeExVh1R1GHgMuC1xBxHZDKwCnspeUy9P90i0oPwtDmvqy9nQWJH2TVyoUTyJ3LypCYAn09TEHS280BSXRG7e3MjLPWP0pZF9PhdXukdiBX2P1ZQXc82aWp5Ywgw5W7glXJpVtdt+3wM0p9inDUhcDafT3pbI3VgzlUTD/50ickhEHhKRNQs1QEQ+IiL7RWR/f//ypXx3AeW4JHPL5ib2nh1My+HqmHgKURA7bGyqoK22bEkCuZC1cIBbbIH8VBoPy76xGLNxNX22qYlDnSOMTE672o6sCRcReVxEjqR43ZG4ny0Yllul7m7gHxI+/zPQoao7sGY63075K+u896vqLlXd1dTUtKyTz87F6R2NFUyOSzJLcbiGRyZpqgpRWhzMQcu8yVIdroUcXeewtaWaxsqStGZ7he6jcrhlcxOq8PQpd2cvWRMuqvpmVd2e4vUw0CsiLQD231Sxc2EgcebRbm/D/t01QJGqPp9wzkFVdep1PwBcn+HLuoS+sSniWjg5LsksxeFqtHCLdB2uk9OzDE/OFHyfBQLC669o5OmTA4tWSnZMr2sKXLhc015DVWkRT6XpD80WbpnF9gD32u/vBR5Osc+jwFtFpM6OJnurvc3hfVw6a3EElcPtwEsZa3EK5nNcCnTmUhEq4vp1dWlpSEYLt3jdxkZEFtcqwwWc45LMzZuaGJyY5uWeyxf/dIJGCiktIBVFwQCv29iYvzOXRfgi8BYROQm82f6MiOwSkQcAVHUI+ALwnP36vL3N4fdIEi7AJ0XkqIi8CHwS+FA2L6KrQOsYJbJ7fQMvdY8ydpnV8OJxpWukcHNcEqkpL2bL6mqeOzd02f06RwqvyOdC7F5fD7Bon4VHotRXlFBeUhgVpC/H7vX1hEeidI0sfy2hleKKcLHNV7eq6ibbfDZkb9+vqvcl7PdNVb3Cfn0r6RgbVPXlpG2fUdVtqnqNqr4p+ftMU4jZ+cns7qgnrvD8+YX9LgPjU0zPxc3MxWZ3Rx0Hzo9c1u9i/AcXaa8ro6WmlH2LCZcCqyB9OdIRyDNzcT7x/QP8NksznMJLY80gb9m6mv9197VUlRZmHgLAdWtrCQbksjfxqT4r0XJdQ0WumuVpblhfT3RmjqNdowvuc6pvnLLiIKuqCldxcRARbuio57mzQ5etCHGqb5x1DYWbR5XIVS3VVIaK2Hd24XF5snecnx7qpn+Fy0ovhBEuK2B9YwV3XJscHV1YVISK2N5azXNnF565HA5HALi6rSZXzfI0uztsrfIyA/9IOMLW1uqCqyC9EDesr6dvbIpXFkhAHZqYJjwSNfeYTTAg7FxXd1ml70iWx6URLoYVc0NHPQc7R5iaTZ3vcjgcoa22jPqKkhy3zJusqi5lXUP5gmaeubhytGvUPCgTcATyQpr4vALTbvrMYXdHHSd6xxmeSJ3vcig8QlWoiI4sWRSMcDGsmN3r65mejXOoM5Ly+8PhiHlQJrG7o57954ZShtee7h8nOjNn+iyBTasqqS0vXlATd7Tw7abP5tm9vgGA/Qv4Qw+HR9nWVk0gS7NjI1wMK+aGy2iVkegM5wcnjUaZxA3r6xmenElZ+PNwp9HCkwkEhF3r6nlugYTdw50ROhrKqS5g/2cyO9prKAkGUgrkmbk4L3Vnd3ZshIthxdRVlLBpVWXKm/io0ShTMm/mSdFnh8MRyoqDbGyqzHWzPM3u9XWcHZigb+zVdcYOhyPmHkuitDjINWtqUip9J3rHmJ6Nc3V7bdbOb4SLISPcsL6e588NM5dk5jHO/NSsayinqSqU0ql/OBxhm3Hmv4ob5gMhLp29OM78HWam9ypu6KjnSDjC5PSlK6Bm25kPRrgYMsSN6+sZm5rlwCuXDnzjzE+NiHDj+nqePjXIbEK+y1xcOdY1arTwFGxvq6GiJMgTJy6tFnXYzI4X5MYNDczGld+cunQF1MPhCFWhItbVZy902wgXQ0a49apmyoqD/PjApet3G2f+wrxzRysD41M8lZDEZpz5C1McDHDb9hZ+frjnkkrcxpm/MK/Z0EB9RQk/eaHzku3ZduaDES6GDFEZKuK27av56aGu+YFvnPmX53e2rKK2vPgSgexE3BkTT2ruvL6NsalZ/uVY7/y2Q50jrG+sMM78FJQUBbj9mlYeP9ZHZNIq0eQ483dk0d8CRrgYMsh7drYxFpvlly9ZZoujxt9yWZyB/y9Hexi1a7MdCUcoLwmywTjzU3LT+gZaa0r50fMXNfEjYWNGvBx37mxnei7OTw93ARed+dnuMyNcDBnjtRsbWV1dyo8PWAP/N6ctc48RLgtz5852pmbjPHKom+nZOPvODrG1xTjzFyIQEN69s42nTvbTNxrj3MCEnZlf7XbTPMv2tmo2N1fOz5B/a/tfsj0ujXAxZIxgQHjXdW38+kQ/n/7RIb76r6e5ZXMTdcaZvyA72mvY2FTBd589z+99/RmOdY9yx3WFXVJoMd6zs524wp//8zHe9X9+Q2WoiFuvSrWYrQGs4JH37Gzn+fPD/NefHOYvH3mJa9fUZtWZD0a4GDLMnTvbmIsrDz53gQ+/fj0PfHCX203yNCLCnde3c7RrlNN943ztnp184KZ1bjfL02xsquTaNbX87HA3LTVl/PTfv97kBC3Cu69rIyDw/b2v8Pu71vDgR27KqjMfwCx8YMgom5qr+Mzbt7ChqZK3bDXaZDq8f/dahsan+YOb1tHRaCpHp8OfvuMqnj41wEffsLGgl85Ol+bqUv7b7duoLS/h9mtac3JOuVwJ60Jh165dun//frebYTAYDL5CRJ5X1ZTmCWMWMxgMBkPGcUW4iEi9iDwmIiftv3UL7PcLERkRkZ8mbV8vIntF5JSI/EBESuztIfvzKfv7jhxcjsFgMBiScGvm8mngl6q6Cfil/TkVfwV8IMX2LwFfVtUrgGHgw/b2DwPD9vYv2/sZDAaDIce4JVzuAL5tv/828K5UO6nqL4GxxG0iIsDvAA+l+H3icR8CbrX3NxgMBkMOcUu4NKtqt/2+B1hKWFEDMKKqTpnPTsBJDGgDLgDY30fs/V+FiHxERPaLyP7+/v6ltt9gMBgMlyFrocgi8jiwOsVXf5L4QVVVRHIesqaq9wP3gxUtluvzGwwGQz6TNeGiqm9e6DsR6RWRFlXtFpEWoG+hfVMwCNSKSJE9O2kHnMp/YWAN0CkiRUCNvb/BYDAYcohbZrE9wL32+3uBh9P9oVqJOf8KvDfF7xOP+17gV2oSeQwGgyHnuJJEKSINwA+BtcB54PdUdUhEdgEfVdX77P2eArYAlVgzkA+r6qMisgF4EKgHXgD+QFWnRKQU+C5wHTAE3K2qZ9JoT7/djuXQCAwsulf+UYjXba65cCjE617ONa9T1aZUX5gM/RUiIvsXylDNZwrxus01Fw6FeN2ZvmaToW8wGAyGjGOEi8FgMBgyjhEuK+d+txvgEoV43eaaC4dCvO6MXrPxuRgMBoMh45iZi8FgMBgyjhEuaSIit4nIcbvi8qsKbeZjReY0rvkWETkgIrMi8t5Ux/AjaVz3p0TkmIgcEpFfiojvl45M45o/KiKHReSgiDwtIlvdaGcmWeyaE/a7U0TUTpXwPWn8rz8kIv32//qgiNy3rBOpqnkt8gKCwGlgA1ACvAhsTdrn48Df2u/vBn7gdrtzcM0dwA7gO8B73W5zDq/7TUC5/f5jBfK/rk54fzvwC7fbne1rtverAp4EngV2ud3uHP2vPwT875Wey8xc0mM3cEpVz6jqNFYC5x1J++RbReZFr1lVz6nqISDuRgOzRDrX/a+qOml/fBarBJGfSeeaRxM+VgB+d9amM6YBvoC1dEcsl43LIule94oxwiU95qst2yRWYn7VPrpIRWafkM415yNLve4PAz/PaouyT1rXLCJ/JCKngf8BfDJHbcsWi16ziOwE1qjqz3LZsCyT7v19p232fUhE1iznREa4GAzLRET+ANiFtahd3qOqX1XVjcB/Af7U7fZkExEJAH8N/Ee32+IC/wx0qOoO4DEuWmSWhBEu6eFUW3ZIrMT8qn3ypCJzOtecj6R13SLyZqzlI25X1akctS1bLPV//SALLPDnIxa75ipgO/BrETkH3ATsyQOn/qL/a1UdTLinHwCuX86JjHBJj+eATSKyXkRKsBz2e5L2ybeKzOlccz6y6HWLyHXA17EEy1KWi/Aq6VzzpoSP7wBO5rB92eCy16yqEVVtVNUOVe3A8q3drqr73Wluxkjnf92S8PF24KVlncnt6AW/vIDfBU5gRVr8ib3t81g3HEAp8I/AKWAfsMHtNufgmm/AstlOYM3Sjrrd5hxd9+NAL3DQfu1xu805uOb/BRy1r/dfgW1utznb15y076/Jg2ixNP/X/6/9v37R/l9vWc55TIa+wWAwGDKOMYsZDAaDIeMY4WIwGAyGjGOEi8FgMBgyjhEuBoPBYMg4RrgYDAaDIeMY4WIweAARqRWRjydt+7mI+L1umaFAMcLFYPAGtViVtQEQkTKgQVU7XWuRwbACjHAxGLzBF4GN9voZfwW8EStxDxH5YsL6Mf/TxTYaDGljkigNBg9gLy73U1Xdbn/+CvBPWFnSv8XKklYRqVXVEbfaaTCki5m5GAze5HXA01hLN8SAb4jIe4DJy/7KYPAIRrgYDB5DRDYAF1R1Wq21gXZjLUD3TuAXrjbOYEiTIrcbYDAYABjDKvMO8HZsISIilVhLKj8iIr8BzrjUPoNhSRjhYjB4AFUdFJHfiMgRoBv4d/ZXVcDDIlIKCPApt9poMCwF49A3GDyEiISA36iq3xelMhQ4RrgYDAaDIeMYh77BYDAYMo4RLgaDwWDIOEa4GAwGgyHjGOFiMBgMhoxjhIvBYDAYMo4RLgaDwWDIOEa4GAwGgyHj/P8GYl7x4vIviwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "signal_ma = flt.ltiFilter(signal, [1/9 for i in range(9)], [1]) #Construct a linear time-invariant filter, set the numerator coefficients to b0~b8=1/9, and set the denominator coefficients to a0=1\n",
    "signal_ma.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The filtered signal is similar to a single-frequency sine wave, and its amplitude spectrum shows that the high-frequency components have been filtered out a lot."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(signal_ma).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Bi-directional filtering also allows the low-pass filter to maintain a zero-phase response. Furthermore, if the smoothing is centralized, i.e., $y[n]=\\displaystyle\\frac{1}{9}\\sum_{i=-4}^4x[n-i]$, then the corresponding filter itself has a zero-phase response, but it would be non-causal."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Designing IIR filters based on Butterworth filters\n",
    "\n",
    "The design of IIR filters requires consideration of feedback, which is more complex. It is usually done by transforming existing analog filters. pyAudioKits provides IIR filter design functions modeled on Butterworth filters.\n",
    "\n",
    "The Butterworth filter requires a specified order. Let's first see the difference in the effect of Butterworth filters of different orders.\n",
    "\n",
    "First, white noise is generated and its amplitude spectrum is plotted."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "wn = ak.create_Single_Freq_Audio(0.1,440,44100,1) .addWgn(0.1) - ak.create_Single_Freq_Audio(0.1,440,44100,1)\n",
    "aly.FFT(wn).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It can be seen that the white noise amplitude spectrum is uniformly distributed over [0,sample rate/2].\n",
    "\n",
    "First, a 1st order high-pass Butterworth filter is constructed for filtering, and the **cutoff frequency** is specified as 11050 Hz. For the high-pass filter, the low frequency is the stopband and the high frequency is the passband. The filter will suppress the frequency component of the stopband, and the power of the stopband will be attenuated compared to the passband. The cutoff frequency is the position where the power in the stopband is attenuated by $3dB$ compared to the passband."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAEGCAYAAABiq/5QAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAr80lEQVR4nO3dd5xU5dn/8c9FFRCkigREUMHyREVEwajEggbBRGNJNCYxxoSfPvbyKJY89mgSK7E92KNiRcWIGhABBQWl9153KbuUbSzb798fc3aZ3Z3Znd2dM/X7fr32xZlTrznMXOfMfe5izjlERCR9NIt3ACIiEltK/CIiaUaJX0QkzSjxi4ikGSV+EZE00yLeAUSia9eurk+fPvEOQ0QkqcydO3eHc65bzflJkfj79OnDnDlz4h2GiEhSMbONoearqEdEJM0o8YuIpBklfhGRNKPELyKSZpT4RUTSjBK/iEiaUeIXEUkzSvwiIg2wJDOXhZtz4h1GkyRFAy4RkURx3j9nALDh0ZFxjqTxdMcvIpJmlPhFRNKMEr+ISJpR4hcRSTNK/CIiaUaJX0QkzSjxi4ikGSV+EZE0o8QvIpJmlPhFRNKMEr+ISJpR4hcRSTNK/CIiaUaJX0QkzSjxi4ikGSV+EZE0o8QvIpJmlPhFRNKMEr+ISJpR4hcRSTNK/CIiacb3xG9mzc1svpl96r3ua2azzWyNmb1rZq38jkFERPaJxR3/jcDyoNd/A550zh0O7AauikEMIiIJY+KirRSVlsft+L4mfjPrBYwEXvJeG3Am8IG3yuvABX7GICKSSOZs2MW14+bx4KfL4haD33f8TwG3AxXe6y5AjnOuzHudAfQMtaGZjTKzOWY2Jzs72+cwRURiI6+oFIAtOXvjFoNvid/MzgOynHNzG7O9c26sc26Qc25Qt27dohydiEj6auHjvk8BfmFmI4D9gA7A00BHM2vh3fX3AjJ9jEFERGrw7Y7fOXenc66Xc64PcCnwlXPucmAqcLG32hXABL9iEBFJNM7FO4L41OO/A7jFzNYQKPN/OQ4xiIjEVaCuS3z4WdRTxTk3DZjmTa8DTorFcUVEpDa13BWRhOSc4/VvN5BTWFJr2a49JWzcuceX427YsYeC4rL6V0xiSvwikpAWZeRy7ydLue39RbWWnfq3r/jpP6b5ctzTH5vGr174zpd9JwolfhFJSMVlgeY/uXtr3/EXlvjb6nXZ1jzf9p2uD3dFRNJe/B7tKvGLiKQdJX4RkSgpLCnj3wu3RLRuPEt8YlKdU0QkHdz3yVLem5NBz05tGNi7U8h14lh9v4ru+EVEomRrbhEABUXhq4PW93D3no8X8+3aHdEMqxYlfhGROAh34//mrE385sXZvh5biV9EJM0o8YtIXK3Jymfysu3xDiOt6OGuiMTVsCe+BmDDoyNDLk+EBk8NVVfIifB2dMcvIgkpEWq/+Cme70+JX0TSyvxNu1m9PT+mxywqLeeb1YkzhKwSv4iklV8+9y1nP/l1TI95/7+X8buXv2e5j30ANYQSv4iIz9ZmFwCQu7c04m0KS/zrGlqJX0RiZsMOf/rQj7fs/GLemr2x6rWr44l0XcuC3fD2/CbHFY4Sv4gwYUEmW3L2+nqML5dt5/THpvHZ4q2+HsdP4ZL2NW/O5e6PlrB5V2HUjrVgc07U9lWTEr9Imisrr+DGdxZwic+Dj1SWby/bkhjl3I2xantByPm79gTGDNiwM0ziD7pexHOs3UpK/CJprjInbc8rit0xneOj+RmUeIOtJIvS8sjjffeHTYweX330sPin/AA14BKRmJu8bDs3v7uQ1WHuoCE5G25VcsAd4xcD8OhFx8Y3mBB0xy8iMZfj1W7Jyi+OcyQ+CXPRclR/TnDrewv50+s/hFx3R0EJuYWR1wJqCCV+EYmJht7Ax7sofHFGbsTrrmtUbSVj/LwMvlyexc6C0BfARz5f3oj91k+JX0RiKt4JPVI/f2ZG1PcZ7q1/u3ZnyPml5f6Udynxi4ikGSV+EYmJZH5YG02rvH6C4tl9gxK/iAD+dxfsvCMEF3ckW3XOSH28ILNquqC4etcLny/ZBkCmzw3m6qLEL5LmYl7kHlTI/8nCLbE+ekg7CoqZtjKrQdsUlZazJDP0A+AJC/a9r/JyV3XRayi/noco8YtIQhj00Jec+/Q3Dd7OOdeghlWhXP7ibP7w6g8N2s89Hy/hvH/OYFtu7Bq+RYsSv4gkhB0FxY0q937qy9X0u/tz9hQ3vjfLdTsCDckqGvAgorIvnfyi+uvam/e7KlHaLSjxi6S5F79ZH+8QmuS9OZuBhnV5HI7fD6CvD9PjZqyfeyvxi6S5v32xAvC/rL+xSbUxm63YlsfSLZE3wKo6Vo2D7fY6Xwu3POL9Br2LRKjdpMQvIr7anldUrbviSC8wTbkQDX/qG0aOiawB1rrsgqqGUi9MX1tt2Q3v7LtDf+Sz5SEbdfmZx/26GKuTNhHx1eC/TgHghrP6xTmS0M58fHrV9NNTVldblpW3r0z+/75eV21ZkjRADsm3O34z28/MvjezhWa21Mzu9+b3NbPZZrbGzN41s1Z+xSAi0TNu9iZufndBk/fTmCqK2/OKGDNldcSjV0ViSWYufUZPrHOdvaXlzN+0m4zd4QdYqS+kmlU5E6Ckx9einmLgTOfcccAAYLiZDQH+BjzpnDsc2A1c5WMMIhKh+hLSXR8t5qP5gYZJr85c3/BqjE1I2tePm88Tk1exNIqDuExauq3edTbtKuSXz33LRc9/W2tZ5QXsr581rCO1ui5eTa2WGinfEr8LqOxsu6X354AzgQ+8+a8DF/gVg4hE3+Zdhdz/72WMemNOo7a3RhSSFJYGqmrWzJnrYzSG7+494WsMTV+VHbXjfDw/s/6VosDXh7tm1tzMFgBZwGRgLZDjnKuscJsB9Ayz7Sgzm2Nmc7Kzo3diRaRpyioC2TevKdUn67n5z8ovYtz3m+rdzRmPTas1b1FGTuNiqkOolrfhhmFs1P69K1peUfW2CEnZctc5V+6cGwD0Ak4CjmzAtmOdc4Occ4O6devmV4giaaW8wjFx0daolpX7YdS/5vLhvNp3v3eMX8TKbfl1bvuLZ2aGXfbDhl1V0zlRqPcfbQ9+uqzaa7/+m2JSndM5lwNMBU4GOppZZW2iXkBsftuICK/OXM+14+YxPkRSTSS7gurPB9/0LtuaxzVvzm30foMHlP/Xdxsj3i5e18nyiiTrj9/MuplZR2+6DXA2sJzABeBib7UrgAl+xSAi1VV2GRBuxCc/NTaF7S4sqXN5ZVIOlSTzi0rJyo9/XzrBF44V9fxiiQU/7/h7AFPNbBHwAzDZOfcpcAdwi5mtAboAL/sYg4j4pKGJvDL5mVFnJfisvOqJem123Q9wt3nrvzKzdtcTZzw2nZMensLZT0wP25NmJJpy352IpWq+NeByzi0Cjg8xfx2B8n4RSUJNfd5Y3/Yn/XUKB3du0+D9hqpeusP7ZbM6q4DHJ61s8D7jLhkf7oqIRMOSzPiNVgV1172PRKKNM6zELyJpYerKxlcLb+oz1kiuG7v21P0sI5rUV4+I+GLZljw27NxXPt/YUahqWhejRlvRsm5HAXM27q53vQueDV8NNdoiSvxm1h94HujunPuxmR0L/MI595Cv0YlIVMWy/v6IMaFH00q0Yg+/XfT8d/WuU1xWwaZd4fsDirZIi3peBO4ESqHqwe2lfgUlIv6KRvL18xqSiDVh/PRymMFwGtO9RSQiTfxtnXPf15jX+HHORCRpNfWi8dikVVW1baIpmS8WlX0RxUqkZfw7zOwwvOqsZnYxsNW3qETEd3lFpRSVloddXlhSRttW4VPEpl2FVd0ab3h0ZL3HC07Mf/+i7qqVOwti96AzEYS7s4/Wc5GaIk381wJjgSPNLBNYD/zWl4hExBeZOXvZXbivf5qhf59KTmHo/mqWbsll5JgZPPubgYw8tkdUjt+QFLa3jguSNF1Eid9rdDXMzNoBzZxz8W9zLCINcsqjX1V7HS7pA1WtXKevyopa4pfEUWfiN7NbwswHwDn3hA8xiUgcOOdYsS2P9fV0kSDRF65GT7we7rb3/gYB1xDoO78ncDUw0JeIRNLQre8tDDkM4Pfrd9Fn9ETWZUev7/e6DH/qG655a161eQXFqscRL0Vl/hR51Zn4nXP3O+fuJ9B98kDn3K3OuVuBE4DevkQkkobGz8sIOb9yqMPv1u2M6vEivZNck1XAj+/9D+/P2dzgbWuKRa2bshgNXRgrExf5U4cm0uqc3YHgx+wl3jwRSWGVg55MXZkV50gi8/KM0PXhpbpIa/X8C/jezD7yXl9AYLxcEUlw+UWlDP7rlHrXMzNfb8uLfSq2CLarnr77JSDSWj0Pm9nnwGnerCudc/P9C0tEApqeiFdsy6ewpHFJt7Iix2eLtzU5jldnbmjyPupSkcwtuGIsoqIeM+sN7AA+8v52evNEJAb8qt3RGMEdryWSScu2xzuEpBFpGf9E4FPvbwqwDvjcr6BE0sn6CHqb9KsFZzgLMwL1+EPV6PnTv+bUmuec4+RHplQ9BM4vis9A5ol0gUxkESV+59wxzrljvb9+BEbQqr/LORGp10XPf1vH0tglsuCeO8fN3hR2vZKy2jVnKhxszS3ijvGLAMgvUhXQRNaogVicc/OAwVGORSQt5e2t6+7Ynzv9VO0aOVbtHZJdpP3xB7fgbUag8dYWXyISkVqaUoQRy2eeFQ4qmjpcVROonD8ykd7xtw/6a02gzP98v4ISkab7Ysk2Pl+8NSaDrwQf4+fPzEjZXxSpItJ6/Mucc+8HzzCzS4D3w6wvInF29ZtzATiie3vfj5WVv69//aVb4jswutQv0jv+OyOcJyI+aEqtnpXb/e9Md8qK6i17VaU+sdXXO+e5wAigp5mNCVrUAY3AJZKQ1mUXcGi3/eMdhiSw+u74twBzgCJgbtDfJ8DP/A1NRCpF+nD3iyVbOfPx6fx7YXzrXrzzffjqoBJ/dd7xO+cWAgvN7C3nnO7wRRJMQXEZq7bnM7B3JwCufjPQpfKyrXWXs5eHqHkTzb56xny1Jir7EX/UecdvZu95k/PNbFHNvxjEJyJ1uPateVz43Lfk1WgpG6qRVbDnpq2tNa8ptX9e/Hpdo7eV2KuvVs+N3r/n+R2IiNRWXy5e7A2RWFoj0dfXPXFunY3GGi7cCFKSmOor6tnq/bsxNuGIiIjf6qvVk0/1NuPmvTbAOec6+BibSNqrryHUrj3qf14arr47fv9bfohIo2gsXGmsiDtpM7OBZnaDmV1vZsf7GZSIBIQq49+WW8Se4jKKS/cNrvLdup0x6ZpBUkOkA7H8L4GhFrsAXYHXzOwePwMTkX2Ci3yGPDKFEWO+qbb8unHz6XvnZzGOSpJVpH31XA4c55wrAjCzR4EFwEM+xSUiQWrezG/cWciq7eqCWBon0qKeLcB+Qa9bA5l1bWBmB5vZVDNbZmZLzexGb35nM5tsZqu9fzs1LnSR1FfXw93LXpwV1WOpoCh9RJr4c4GlZvaamb0KLAFyzGxMjT58gpUBtzrnjgaGANea2dHAaGCKN5LXFO+1iIQQy2J7PSJIH5EW9VQOsl5pWn0beG0AKtsB5JvZcqAngX78T/dWe93b1x0RxiGSltS/vURTRInfOfd6Uw5iZn2A44HZQPfKhmHANqB7U/YtkiiWZOYycfFWbh7Wn1YtGjWqKTmFJXRs26rq9ftzM6IVnkiVSGv1nGdm881sl5nlmVm+mUU02oKZ7Q+MB25yzlXbxgXqn4X8gWlmo8xsjpnNyc7OjuRQInF14XPf8vy0tfS/5/NG7+P/avR5E6ozNZGmivS25CngCqCLc66Dc659JK12zawlgaT/lnPuQ2/2djPr4S3vAWSF2tY5N9Y5N8g5N6hbt24RhikSPxUqJJckEWni3wwscQ1oIWJmBrwMLHfOPRG06BMCFxG8fydEuk+RZLR5VyEPT1zWoEHIi0rLycorqjV/UUZOFCOTZLDE64gvmiJ9uHs78JmZTQeqBteskdBrOgX4HbDYzBZ48+4CHgXeM7OrgI3ArxoatEiieO+HzazNLuDOEUeFXee6t+ezcHMObVo2p1kz46Zh/evd79VvzmXayupFnOUVjtdmbmhqyJJkisvK61+pgSJN/A8DBQTq8reqZ10AnHMzIOywQWdFeFyRhHb7+MCwFHUl/vKKQJfJlYOTRJL4ayZ9gLFfr+PD+XU2nxGJSKSJ/0fOuR/7GolIiopG0f+dHy5u+k4kSUW/Lm+kZfyfmdk5UT+6SIpYsS2PMtXAER/40YYj0jv+a4DbzKwYKEX98YtUc/dHS8IuC3fHf++EJbz+3UZaNFPrLAnPj09HpA242ptZZ6Af1fvsERFgeZjBzdfv2ENJeejxb1//rvbAds9PW8sdw4+MamwiNUWU+M3sTwTG3+1FoFfOIcC36CGtCACFJbVrXuQWlnLGY9NiH4ykFPOhrCfSMv4bgROBjc65Mwh0vxD9yqUiKWRPiUbIkqbzo6gn0sRfFNQXf2vn3ArgCB/iEUkaa7LUH774z4+Hu5Em/gwz6wh8DEw2swkEGl+JpLzpq7I5/9mZlNUoq7/+7fl1btfYL+zMNTsat6GkJPPhnj/Sh7u/9CbvM7OpwAHAF1GPRiQB3freAnYUlLC7sJRu7VtHff81q4Fe/tLsqB9DJFik1TmrOOem+xGISCrZWVDsy52apJ94FvWISANcOnZW2C/sQ58ui20wIjUo8Ys0Ul03YqvrePD70oz15BeVRj8gSUnxbLkrIsCuPSVc8OxMOrVtWe+6g/86JeyyY+6bFM2wRBpEiV8kQqu251c9eN20C47uoR5LxH9+PCtSUY9IhGrWttEA6BILergrEmWXvzSLV2asZ/hTX/PctDXxDkekFpXxi0TZzDU7mblmJwArvlhJ+9Yt+O2QQyLqH2XpltAds4kkOt3xS9q45+PF9Bk9sc51/jJhKf/8ag0TFgRGurrjg0XsKCiJRXgiIe0pjt/QiyJJ781ZmyJa74nJqwA4f0BP3p2z2c+QROqVnV8U9X3qjl9S0t6ScopKA3/nPzODhZtz4h2SSCPFqa8ekWRz1P9+Qfv9WvDqH05kYUYuDzSitWzuXjWyktSkO35JWflFofvDf/HrdWzYsaeqHD+c4+5XIyuJP9XqEQH2FJfx8GfLuWvEUezfuuEf4Yc/W87Dny33ITKR6IvnQCwiCePVmesZN3sTY6evjXibuRt3+xiRiH/iOfSiSMKo7L7e1b0aoNa1IqEo8UvScZFkfJEUoaIekSCRfCEKfGj8IhJL6qtHBHA1Cnmy8opYtT0/5LpXvzE3FiGJ+Ea1ekSCed+Ik7x+7zc8OpK12QVs2LGnapW9pbrjF6lJiV8SQnmFo6CojAMiGOAkuIzf1SjwP+txDQktqUX98UvKemjiMo57YBJ7ikM3ugrn+rfn+xSRSIJQGb+kqk8XbQVocOKv3A4CwyKKpBrV6hEJUvMLMfDByXGJQ8RPC3zoYFCJXxJKzSr6FRWOj+dnUlZeEXYdkVRWXFZR/0oNpMQvCSHcz9kP52dy07sLeGnG+trbqFWupIGkKuoxs1fMLMvMlgTN62xmk81stfdvJ7+OL6lht1duvyO/eN9MrybPlOVZ8QhJJKaaJVlfPa8Bw2vMGw1Mcc71A6Z4r0WqNKQ7hsWZuf4FIpIgmiVTrR7n3NfArhqzzwde96ZfBy7w6/iSOFZtz2dr7t4GbVNe4Rg55hsmL99ebf7OgmLGfLUmmuGJJDQ/eueMdQOu7s65yvp324Du4VY0s1HAKIDevXvHIDTxyzlPfg0EWtbWxyyQ3Get28XSLXlV8x1QVFrOCQ996VeYIgkppbpscM45Mwv7w945NxYYCzBo0CBV5EgTzsGpf5sasquFP/9rThwiEomvZCvjD2W7mfUA8P7V0znhzVkbyQp6eBsq6ZdXOL5ZvSOWYYkkhKSq1RPGJ8AV3vQVwIQYH18S0D0fL6l3nY0799S7jkgqSqpumc3sbeA74AgzyzCzq4BHgbPNbDUwzHstaaKotJzbP1jIe3M2899vhe4uuWaXy5Wmrsz2MzSRhJVUD3edc5eFWXSWX8eUxLIkM5dXZu5rePXJwi28NyeD9+ZkxDEqkeSSUg93JfX9vzfmkpnTsGqcIlKdumWWpDZzjR7OijRUUjXgEqn5E3XCgi211imp0QHVQ58u9zMkkaSTVA93RSKpf7wwI6fa64mLt4ZeUSRNpUI9fklxuXtLq7pQjuTzeskL3/kckYjUpMQvUVNe4Tju/knc9dHiiNY/8WF1vyBSHz+qcyrxS0Scczz95WrWZRcAgQFSyiuq17n/Ysk2AN6bk8GijJx66yJkB3e1LCIh6eGuxM3uwlKe/HIVl780G4BhT07niHs+J2N3IfdOWEJ5hePacfOq1v/Hf1ayYWdhvMIVSRl+dNmgevwSkQqvo/zKWjjrsgNdKNz0zgLmbNzNz4/7UbX1v19fs0duEWkMFfVIQnj3h01V09vyigDILy6rto4f44SKpCMV9UhCuGP8voe3GbsDLXNfm7khTtGIpLak6qtHUseU5dtp2bzuewQNfC7iD/XVIzHzyoz1DO3fjcMP3J+rXq9/AJSGjJUrIvGloh4J6YFPl/GLZ2bUml8eJsNPX6Vuk0X8cECbllHfpxK/VOkzeiL3fLwY5yX3wpLaI2HlFJbGOiyRtLZ/6+gXzCjxp4GM3YV8HmEfOG/O2kRwu6w9NWrriEjyU+JPAxc8O5Nr3trXuKqsvIKb313Amqx8AHYWFHPeP7+pWl4RVJzz4KfLYheoiNTix+MzPdxNAzsKSoDA0IcrtuXTopnx0fxMVm7L59PrT+XZqWtZkplXtX6/uz+vmn7nh80xj1dE/KU7/jRy14eLueDZmWz3Gl1l5uzlurfnVRseUURSnxJ/GvlwfiYAW7zhEHP3lvLZ4m3xDElE4kCJP0XMWreTV2ZEduf+lwlLfY5GRBKZEn+KuHTsLB4IehC7LruAF6avjWNEIpKo9HA3xRSXlZOxey9nPT4dgN8OOSTOEYlIolHiTzFH3PNFtddOfSmISA0q6kkyOYUl9Bk9kSnLtwNQUFxGn9ETw65/zH2TYhWaiCQJ3fEngT3FZSzYnMMph3dl2dZAffuxX69jv5bN6bJ/qzhHJyLJRok/wW3PK+Lujxbz5fIsLh/cm5lrdgAwe/2uqmEQRSQ5tWrejJLyugctOvKg9lE/rop6EtDuPSWs2Ba4sx/81yl8uTwLgLdmb9I4tiJh/P2iY2NynCX3/4xxfx7Mrwcd3OR99T9o/3rX6XFAmyYfpyYl/gR0/rMzGf7UNyzbklf/yiIp6vozD2fDoyN5+tIBEa3/qxMPZmj/bv4GRaC3zJ8c1pWO7aLfXXKsKPHHye9f+b7qoey3a3fw+1e+Z8ADk+gzeiKbdgXu6keM+aauXUgSufGsfvEOwTdz7xnmy34P6dIOgPMH9OSekUdFtE1wLbYLBvyo0cc+rV9X7v350bXmP3/5wAbv6yeHdWl0HD/16UKmxB8Hzjm+9gYu6TN6Ir95cTZfr8pWX/cpamj/br70qd5QndpG7w713VFDqqbbtvLnvR3b64Cq6X7dIyvnDq693Lld60Yf+42rBnPlKX1rnbMDO+zbZ6t6hiMFePUPJzLsqO5hl7du0bxq+rs7z6y1/PU/nhRJuA2mxO+jbbmBztDGz81g4qKtXPXaD/QZPZG+d34W58gk1ipi2J5i+QPDQ84PHrT7n5cdH3KdY3oewEUDe9V7jBMO6RR2Wc+OTSuTfvrSAXx2w2n0jzDZB7vvF//VpGPX9JPDu1Z7HTwa1jWnH0b71i145jehzyVAuxAX/DOPPLBqOvj/wY+y/HCU+H2wfGsex9z3H4Y8MoVPF23h1vcXcu24eUxZkRXv0CROfhWFB4GR+MfFx9KmVXNevmJQ2HUm3nAqR/XYl1TXPHxuteWP/+o4xv15cNjt7x5xFC2C7nZrDgY+c/SZjD73SADe+lP4/YRz/oCeHP2jDmGXjwuxz5MPDRSnHH7g/rz958CvkbouTpHq3n6/qukXfnsChx+477y1bdWCxff/jNMO31ccM+HaU+qthfPrE/d9Fn7UxItkYynxN1FuYSlFpeVMW5nFnR8uos/oiZz79DfkFwVGrrpu3Pw4R5iePr/xtHiHUMU5R6d2rTiwfd1FD6f1C9xdXnfG4Uy6eWitMuaWzS3UZlV6dWrDJd4F5qyjujPtttOrlt00rB//87MjAOh3YHsgsK9Du7WjRfNmVceujLEykVY6qEMgAX5w9clcdWpfALq0a8WFx/cMGcuo0w7lPzcN5ZTDu1bte/ZdZ1Vbp8cB+5Jq82aBeO4acWTI/Q3u27lq+ieHd61Vg+e5oLL3kw/rwvd3ncXIY3uE3Fc4j11yHI9ceEzYi+bwHx8Ucv4BQcVB3dq35sQ++2I9IsRFoGax3+Sbh9Y6NxC4iPklLgWPZjYceBpoDrzknHs0HnFEoqi0nKy8YrblFZFTWMKoN+ZyUIf92Ob1aS9N98dT+jJ3024Wbs6J2j6P6tGBQ7u1Y132nmrzTzm8CzPX7Kw27/bhR/D3L1YC0LtzW24a1o9b3lvI+Gt+Qt7eUq587Qf2b92CgjDDUB53cEcWbs7hznOP5JHPV9RaXtlfUrf2rcnKLwbgnpFH8dDE5dXW+/Nph/LN6h2cfFgX+ndvT//u7Skuq+BRb59z/3I2x9bREvsv51W/UPTp2q5q+qZh/QG47KTeQOAi0bldK+48N/DQ9I2rBvPhvAzOOjJQHm1mHNatHWuz93DO0d0Z+/tBOOeqFRfN/cvZQOA7UlOzZlaV9J75zUDmbtxF9w770bFty6pnWb87+RByC0u5cVg/CorL2LCjkJOCEnyw/Vo2542rTqoaMOhXJx7M7eMXhT0XB3bYr9a8MZcdz8DeHTn1b1Or5h15UHtWbMvn29FnNunuu8cB+7E1twgHjDy2B2/M2sjkm4eGHCi98j1Wlv2Hen7x6IXHcKn3f+WHmCd+M2sOPAucDWQAP5jZJ865qI/xl1dUSln5vrLVyo9s7t5SVm3PZ9z3m1i+NY/O7VqzfGvkVSfTKelfNLAX4+dlhFx27RmH8dG8TLbkNvx8mMG5Pz6IsnLHref0p8I5jrlvEt07tKZtqxas37GHd0cN4ddjZ1XbbthR3Tl/wI+4/u36f0l9devpTFq6jccnrWL0iCPJ21vKcb06cvpj04DAXbBhjDrtUHbvKaFl82ZcdWpfuuzfmgu9cu7KKrW9OrVhxbbAUJU3nNWPMVNWA4Ev/LujhvDatxv446l9qyX+Dvu14PU/nsTxvQNFDs9ffgJD/zGVQYd04k+nHYqZVRvacmj/biy895xqyeLqnx5Wlfg77Fc9idx2Tn8uO6k3oz9czGMXH1ftzrPSyYd24cQ+tYs89mvZnHle4q50YY2y/dvOOYJrx83jKa86pdUs0/EEzw5Vw+eANi0507ugvDNqCMOfCtRWa9W8GXeOCFx42rZqwYHtayfrYKf168Zp/fYVqzz8yx9z90dLgMCFJpRnfnM8x/XqyMGd21abf2jXdky+5adVvzTCOePIbrwyc329v7YqlzrnGHJoFzY8OrJq2bnHHMSTk1dx5al9uXlYP8yMFQ8Op2WIh8MDDu7IRSf08jXpA1isO/Eys5OB+5xzP/Ne3wngnHsk3DaDBg1yc+bMafCxrnz1e6auzG5sqCnv9uFHUFbueGLyKgDatmpOYUk5rZo3Y1CfTpx1VHeuOrUvFRWOhyYuZ/y8DHL37qt5VPnhPvp/v+DGs/pVJb0vb/kpl780i+15xTx96QCy84ur3d3+/aJj+dWJ4cu8y8orKCguo2PbVqzcls+SzFxemL6Wz288rapsOaewhPmbc8jYVcjxvTtx3j9n8OD5/8Xz09ZyTK8D+L/fhf65XlHh+O+35nHZ4N4M7dc1bDKrtD2viMF/ncKooYfS78D9+Z8PFrHw3nO4dOwsmhmM/f2gag8zg/tNeun3gxh2dPUaHdNWZjHg4I50bNuK4rJyHvx0GRefcDBtWjYPWSwAsCargOz8Yk4+rAsbd+6hqLQi7LrxUFHh+OljU7nl7P788vj6HwzP37SbXz73LV/eMrRamXljZOcX88OGXYw4JvJinaVbcunZsQ0d20bW3Ul5hav3ArFwcw5jv17HmMuOr3fdWDKzuc65Wl+GeCT+i4Hhzrk/ea9/Bwx2zl1XY71RwCiA3r17n7Bx48YGH+vLZdvJ9EabCn6fs9bt4oul/o88dUiXtmz0Wtredk5/xkxZw19+fjTd9m/Fzj0lzN2wm2FHd2dvSTm3vr+Qu0YcSce2rVi+NY8/ntKXpVtymbBgC2cd1Z2LT6j+hVqXXUCvTm2pcI5WzZvx0MTlDDvqQEorHCf26cQL09dx3RmH06pFM3IKS6hw0LldK4pKy9m0q5DMnL2c3r9brcSXW1hKhzYt6kyIGbsLadOyOV32D19mnVdUSkFRWdXP5w/mZjDk0M50adeaNq2ah90uEWXm7KV7+9bVHmiGsyargA5t6r97FYmFpEv8wRp7xy8iks7CJf541OrJBIJ/5/fy5omISAzEI/H/APQzs75m1gq4FPgkDnGIiKSlmNfqcc6Vmdl1wH8IVOd8xTmn0b9FRGIkLvX4nXOfAeq3QEQkDtRyV0QkzSjxi4ikGSV+EZE0o8QvIpJmYt6AqzHMLBtoeNPdgK7AjiiGkwp0TmrTOalN56S2ZDsnhzjnag3jlRSJvynMbE6olmvpTOekNp2T2nROakuVc6KiHhGRNKPELyKSZtIh8Y+NdwAJSOekNp2T2nROakuJc5LyZfwiIlJdOtzxi4hIECV+EZE0k9KJ38yGm9lKM1tjZqPjHY+fzGyDmS02swVmNseb19nMJpvZau/fTt58M7Mx3nlZZGYDg/Zzhbf+ajO7Il7vp7HM7BUzyzKzJUHzonYezOwE7zyv8bZNnHH2QghzPu4zs0zvs7LAzEYELbvTe28rzexnQfNDfpe87tVne/Pf9bpaT2hmdrCZTTWzZWa21Mxu9Oanz+fEOZeSfwS6fF4LHAq0AhYCR8c7Lh/f7waga415fwdGe9Ojgb950yOAzwmMET0EmO3N7wys8/7t5E13ivd7a+B5GAoMBJb4cR6A7711zdv23Hi/50acj/uA20Kse7T3PWkN9PW+P83r+i4B7wGXetMvANfE+z1HcE56AAO96fbAKu+9p83nJJXv+E8C1jjn1jnnSoB3gPPjHFOsnQ+87k2/DlwQNP9fLmAW0NHMegA/AyY753Y553YDk4HhMY65SZxzXwO7asyOynnwlnVwzs1ygW/3v4L2lZDCnI9wzgfecc4VO+fWA2sIfI9Cfpe8u9gzgQ+87YPPbcJyzm11zs3zpvOB5UBP0uhzksqJvyewOeh1hjcvVTlgkpnN9QaqB+junNvqTW8DunvT4c5Nqp6zaJ2Hnt50zfnJ6Dqv2OKVyiINGn4+ugA5zrmyGvOThpn1AY4HZpNGn5NUTvzp5lTn3EDgXOBaMxsavNC780j7urs6DwA8DxwGDAC2Ao/HNZo4MbP9gfHATc65vOBlqf45SeXEn1aDujvnMr1/s4CPCPw83+797MT7N8tbPdy5SdVzFq3zkOlN15yfVJxz251z5c65CuBFAp8VaPj52Emg2KNFjfkJz8xaEkj6bznnPvRmp83nJJUTf9oM6m5m7cysfeU0cA6whMD7raxpcAUwwZv+BPi9V1thCJDr/cT9D3COmXXyfv6f481LdlE5D96yPDMb4pVv/z5oX0mjMrl5fkngswKB83GpmbU2s75APwIPKUN+l7y74qnAxd72wec2YXn/dy8Dy51zTwQtSp/PSbyfLvv5R+Bp/CoCNRLujnc8Pr7PQwnUtFgILK18rwTKYKcAq4Evgc7efAOe9c7LYmBQ0L7+SOCh3hrgyni/t0aci7cJFF+UEihbvSqa5wEYRCBRrgWewWv9nqh/Yc7HG977XUQgqfUIWv9u772tJKgmSrjvkvfZ+947T+8DreP9niM4J6cSKMZZBCzw/kak0+dEXTaIiKSZVC7qERGREJT4RUTSjBK/iEiaUeIXEUkzSvwiImlGiV+SmpndYGbLzeyteMfSFGZ2qZndbWZ/MLNnaiybZmZJP8C3JA4lfkl2/w2c7Zy7vHJGUEvSZHIu8EW8g5D0oMQvScvMXiDQgOhzM8s1szfMbCbwhpl1M7PxZvaD93eKt00XM5vk9cP+kpltNLOuZtbHqvdZf5uZ3edNH2ZmX3gd4H1jZkd681/z+lr/1szWmdnFQdvf4fXHvtDMHvX2MS9oeb/K117rzgFA1fIw7/cXtq8P/ZVmtj5Kp1LSTDLeGYkA4Jy72syGA2cA1wE/J9BZ3V4zGwc86ZybYWa9CTSvPwq4F5jhnHvAzEYSaMlan7HA1c651WY2GHiOQHfEEOjb/VTgSAKtYD8ws3MJdOU72DlXaGadnXO7vIvTAOfcAuBK4FVvH8cDC51zLnAN4NdmdmrQ8Q/33u8n3jEws/eA6Q08ZSKAEr+klk+cc3u96WHA0bZv4KMOXm+MQ4ELAZxzE81sd1079Lb5CfB+0L5aB63ysQt0drbMzCq78R0GvOqcK/SOU9kf/kvAlWZ2C/Br9nWONpzAYB2V3nXOXRcUw7QaMd0O7HXOPVtX7CLhKPFLKtkTNN0MGOKcKwpewcKPgFdG9aLP/YL2k+OcGxBmu+Lg3dcT33gCvzi+AuY653Z6888BLqpn28ABzIYBlxC4gIk0isr4JVVNAq6vfGFmA7zJr4HfePPOJTBkHsB24EDvGUBr4DwAF+infb2ZXeJtY2Z2XD3Hnkzgzr6tt01nb19FBIqcnscr5jGzA4AWQReBsMzsEAKdhV0S9MtGpMGU+CVV3QAMssAoU8uAq7359wNDzWwpgSKfTQDOuVLgAQI9TU4GVgTt63LgKjOr7P20ziE8nXNfECiLn2NmC4Dbgha/BVQQuDABnE2gJ8hI/IFAD5Ifew94P4twO5Fq1DunpDUz20Cgm90dMTrebcABzrm/eK9fAl5ygbFcRWJCZfwiMWJmHxEY8rCyRhDOuT/FLyJJV7rjFxFJMyrjFxFJM0r8IiJpRolfRCTNKPGLiKQZJX4RkTTz/wES/hRcB/5ZgwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.highPassButterN(wn, 1, 11050)).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Although the cutoff frequency is specified as 11050 Hz, it still has a high amplitude until below 5000 Hz.\n",
    "\n",
    "Next, try a 5th order high-pass Butterworth filter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.highPassButterN(wn, 5, 11050)).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It can be seen that the decay from the passband to the stopband becomes rapid. Go ahead and try the 10th order filter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.highPassButterN(wn, 10, 11050)).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The decay of the passband to the stopband has become more rapid.\n",
    "\n",
    "The same law applies to low-pass, band-pass and band-stop filters."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.lowPassButterN(wn, 1, 11050)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.lowPassButterN(wn, 5, 11050)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.lowPassButterN(wn, 10, 11050)).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Bandpass filters and bandstop filters have two cutoff frequencies. For bandpass filters, the passband is between the two cutoff frequencies; for bandstop filters, the stopband is between the two frequencies."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandPassButterN(wn, 1, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandPassButterN(wn, 5, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandPassButterN(wn, 10, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandStopButterN(wn, 1, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandStopButterN(wn, 5, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.bandStopButterN(wn, 10, 7500, 13500)).plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It is tedious to adjust the attenuation speed by trying different orders. The filter can be designed by directly specifying the passband cutoff frequency and the stopband cutoff frequency. In addition, the maximum loss of passband power and the minimum attenuation of blockband power can also be specified."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.highPassButter(wn, 11050, 5000, 1, 10)).plot()   #Butterworth high-pass filter with a specified passband cutoff frequency of 11050Hz and a stopband cutoff frequency of 5000Hz, with a maximum loss of 1dB of passband power and at least 10dB of stopband power attenuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "aly.FFT(flt.highPassButter(wn, 11050, 10000, 1, 10)).plot()   #Butterworth high-pass filter, specified passband cutoff frequency of 11050Hz, stopband cutoff frequency of 10000Hz, passband power loss of up to 1dB, stopband power attenuation of at least 10dB"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the same 11050hz as the passband cut-off frequency, the attenuation speed from passband to stopband is much slower when the stopband cut-off frequency is 5000Hz than when the stopband cut-off frequency is 10000hz."
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "34e3d493db18dfecee561d26c028e75a8172bde10b9fb1f75764229aafdf7eef"
  },
  "kernelspec": {
   "display_name": "Python 3.8.3 ('base')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
